#[MATL](https://github.com/lmendo/MATL/releases/tag/6.0.0), 21 bytes

    35,5Y216,j6L)!16ZA-)h

This uses [release 6.0.0](https://github.com/lmendo/MATL/releases/tag/6.0.0) of the language/compiler, which is earlier than the challenge.

Input digits should be uppercase.

###Example

This has been executed on Octave:

    >> matl
     > 35,5Y216,j6L)!16ZA-)h
     >
    > #FFAA20
    #0055DF

###_Edit (June 12, 2016)_

The code can now be [__tried online__](http://matl.tryitonline.net/#code=MzUgNVkyMTYgajZMKSExNlpBLSlo&input=I0ZGQUEyMA). Commas need to be replaced by spaces to conform to changes in the language.

###Explanation

    35,             % number literal: ASCII code of '#'
    5Y2             % '0123456789ABCDEF'
    16,             % number literal
    j               % input string
    6L)             % remove first element
    !               % transpose
    16ZA            % convert from hex to dec
    -               % subtract from 16
    )               % index into '0123456789ABCDEF' to convert back to hex
    h               % prepend 35, which gets automatically converted into '#'