[[20141016214232]] 『ある数字を、2、4、8、、16、32、64、128の7つの吹x(にしむくさむらい) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ある数字を、2、4、8、、16、32、64、128の7つの数字の内のからの和で求めるマクロ』(にしむくさむらい)

ちょっとながくなりますが、
ディップスイッチというスイッチがありまして、
左から
2,4,8,16,32,64,128
という数字ふってあります。
それぞれ上下に動くスイッチがついていまして、
スイッチが下にあれば、0。
スイッチが上にあれがふってある数字になります。
例えば
スイッチの向きが左から
上下上上下下下
であれば。
2+8+16=26となります。

このスイッチで色々な数字を表せるのですが、
暗算が得意でないのでちょっと手間取っています。
そこで、
あるセルに数字を入力したら
上下上下下上上
のようにスイッチの位置を表示してくれる
マクロがあっったら便利だなと思いました。

まだマクロやりはじめたばかりで全然わからないです、
どなたかご教授お願い致します。

< 使用 Excel:Excel2007、使用 OS:unknown >


 A1 に数字を入れた場合、
 B1=IF(LEFT(RIGHT(REPT("0",7)&DEC2BIN($A$1),COLUMN(B1)),1)="1","上","下")
 を C1:H1 にコピーでもできるかと思います(B1:2 、C1:4、・・・、H1:128 に対応)。

(Mook) 2014/10/16(木) 23:43



 これ、10進数値を2進数値に変換する理屈ですから、理解してみてください。

 別解で

 A1に 数値 例えば 26

 B1に =IF(ISEVEN(INT($A$1/2^(COLUMN(A1)))),"下","上")

 B1 を H1までフィル操作  これで

 B1からH1に

 上	下	上	上	下	下	下

 と表示されます。

( ichinose) 2014/10/17(金) 00:25


 2013 になるとこんなのでもできるようですね。
 B1=IF(BITAND($A$1,2^COLUMN(A1)),"上","下")

(Mook) 2014/10/17(金) 01:46


みなさんありがとうございます、早速試してみます!
(にしむくさむらい) 2014/10/17(金) 06:50

	A	B	C	D	E	F	G	H
1		2	4	8	16	32	64	128
2	2	上	下	下	下	下	下	下
3	4	下	上	下	下	下	下	下
4	6	上	上	下	下	下	下	下
5	8	下	下	上	下	下	下	下
6	10	上	下	上	下	下	下	下

 B2 =IF(MOD(INT($A2/2^COLUMN(A1)),2),"上","下")
 
(GobGob) 2014/10/17(金) 12:19

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.