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.

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í


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)

 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.