+1 امتیاز
817 نمایش

با استفاده از شیفت معمولی در اکسل رقم‌های اضافه شده به صورت پیش‌فرض 0 خواهند بود. چطور می‌تونم این رقم‌های جدید رو 1 قرار بدم به جای 0؟

توسط prodo (8.2k امتیاز)

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

برای این کار می‌تونین به صورت زیر عمل کنین

=DEC2BIN(BITOR(BITLSHIFT(BIN2DEC(A1),2), 3))

در داخلی ترین تابع یعنی BIN2DEC(A1) مقدار دودویی A1 رو برای استفاده از تابع BITLSHIFT به دهدهی تبدیل می‌کنیم
در تابع BITLSHIFT(BIN2DEC(A1), 2) این مقدار دهدهی رو دو بیت بخ چپ شیفت می‌دیم
در تابع BITOR(BITLSHIFT(BIN2DEC(A1), 2), 3) این مقدار شیفت داده شده رو برای پر شدن جاهای خالی با عدد بیتی 11 یا معادل دودویی (۳) جمع می‌کنیم.
در نهایت عدد به دست اومده رو دوباره به دودویی تبدیل می‌کنیم

توسط programmer (12.8k امتیاز)
انتخاب شده توسط prodo
0

تعداد بیت‌های شیفت رو از یه خونه داخل اکسل می‌خونم. اون وقت چطور می‌شه این فرمول رو بر حسب اون مقدار تولید کرد؟

+1

در این صورت به جای اون عدد ۲ آدرس سلول مورد نظر رو قرار بدین. مثلاً F3 و به جای اون عدد ۳ فرمول زیر رو قرار بدین

POWER(2, F3) - 1
...