[[20050313020530]] 『16進数⇒BIT表示⇒・・・』(PLCソフト初心者) ページの最後に飛ぶ

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

 

『16進数⇒BIT表示⇒・・・』(PLCソフト初心者)

ご指導ください。
以下のようなことができるでしょうか??
Sheet1

	A	
1	3AFB	
2		
3		
Sheet1のA1の16進数をSheet2でbit表示にして		
Sheet2		
	A	
1	0011101011111011	
2		
3		
Sheet2のA1の16bit表示を各1bitづつ		

Sheet3で

	A	
1	1	
2	1	
3	0	
4	1	
5	1	
6	1	
7	1	
8	1	
9	0	
10	1	
11	0	
12	1	
13	1	
14	1
15	0
16	0
と表示したいのですが可能でしょうか??	


 可能です。
 16進数(3AFB)を2進数(0011101011111011)にするには、HEX2BIN 関数を使います。
 そのときの注意:
  この関数は、分析ツールアドインを組み込む必要があります。
  この関数で変換できるのは2進数で10桁までなので、例題のような場合は3AとFBに
  分けてそれぞれ2進数8桁ずつ変換しましょう。
  上下に分けるには、LEFT関数やRIGHT関数を使いましょう。
  HEX2BIN関数では先頭のゼロは表示されないので、例えば、
  =RIGHT("0000000"&HEX2BIN(3A),8) などのように、8桁表示に整形しましょう。
  そのあとで上下の8桁を結合しましょう。
 文字列の各桁を切り出すには、MID関数を使います。
 それぞれの関数についてはエクセルのヘルプを参照ください。
 (ちゅうねん)


ちゅうねんさん、ご指導ありがとうございます〜。
早速試してみたいと思います、また疑問点があればよろしくお願いします。
(PLCソフト初心者)


ご指導の方法で出来ました。
今度は、逆の手順で

A1〜A16に1bitづつ書き込んだ数字を

	A	
1	1	
2	1	
3	0	
4	1	
5	1	
6	1	
7	1	
8	1	
9	0	
10	1	
11	0	
12	1	
13	1	
14	1
15	0
16	0

2進数に変換し

	A         B	 
1	00111010 11111011   上記A1〜A16の数字を左記のようにするには??

16進に変換

0000003A 000000FB
ここは、=BIN2HEX(A1,8) =BIN2HEX(B1,8)で解決できました
次に、 =RIGHT(数値,2)を使用し                        A
3A  FB まで出来たのですが、

    3AFB にするにはどうすれば出来ますか??

再度ご指導お願いします。(PLCソフト初心者)


 どこが分からないのでしょう?文字列の結合ですか?
 ならば、& を使うか、CONCATENATE関数を使います。
 =BIN2HEX(A1,2)&BIN2HEX(B1,2) でどうでしょう?
 (ちゅうねん)


すいません・・説明べたで。
そうですね、文字列の結合ですかね・・??
3A FB となったものを3AFBに結合するのと、
上記のA1〜A16の数字の結合です。
『16進数⇒BIT表示⇒・・・』とやってきた、逆のことをやりたいのです。
よろしくお願いします。(PLCソフト初心者)


できました〜V(゜゜)V
&で結合!!これで何とかできそうです、お手数かけました。

コメント返信:

[ 一覧(最新更新順) ]


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