Microsoft Excel Bitshift en fórmula

1

¿Es posible cambiar ligeramente un número en una fórmula en Microsoft Excel?

Quiero hacer algo equivalente a

=(a1<<2)

Sé que podría dividir / multiplicar por una potencia de 2 y redondear, pero esto sería más simple.

ACTUALIZACIÓN: Estoy usando Excel 2010, así que no tengo acceso a BITLSHIFT.

Eric Johnson
fuente

Respuestas:

1

E2: =BIN2DEC(RIGHT(TEXT(DEC2BIN(A2),0)&REPT("0",B2),C2))
E3: =RIGHT(MID(A3,3,LEN(A3))&REPT(0,B3),C3)
F2: =BIN2DEC(REPT("0",B2)&MID(DEC2BIN(A2,8),1,LEN(DEC2BIN(A2,8))-B2))
F3:=REPT(0,B3)&MID(A3,1,LEN(A3)-B3)

ingrese la descripción de la imagen aquí

picobit
fuente
Eso no funciona. Si pongo el número "16", esperaría obtener 64 pero obtener 61.
Eric Johnson
Oh tienes razon Entendí mal y respondí a toda prisa. Esperaba entrada binaria e hice la operación incorrectamente de todos modos. Dos huelgas Lo he actualizado.
picobit
He actualizado la respuesta para dar la solución general. Puede elegir derecha o izquierda, número de lugares y la longitud de salida.
picobit
1

podemos hacer las siguientes matemáticas simples:

= BINRSHIFT(number, shift_value)

es equivalente a

= number/(2^shift_value)

Similar,

=BINLSHIFT(number, shift_value)

es equivalente a

= number*(2^shift_value)

 

Venkatesh Thambi
fuente