はじめに
ラダーソフトを作っていく時には必ず必要になる要素としてデバイスコメントがあります。
今回はエクセルを使ってデバイスコメント一覧を作成する時に便利な表を紹介します。
興味があれば真似して作ってみて下さい。

作り方
今回設定したい数値はデバイス番号の頭文字と桁数と16進数か10進数表示か
あとは、デバイス番号の先頭値です。
下記のセルが設定値として変更するセルになります。
H1:桁数
J1:頭文字(R,MR,B)
L1:進数(今回は16が入力されていれば16進数、その他数値なら10進数表示になります)
B2:デバイス番号先頭
使用する関数
・IF
IF(論理式,値が真の場合,値が偽の場合)
条件によって実行する内容を変えることができます。
・DEC2HEX
DEC2HEX(数値,桁数)
数値を16進数に変換します。
桁数は省略可能です。
・HEX2DEC
HEX2DEC(数値,桁数)
数値を10進数に変換します。
桁数は省略可能です。
・LET
LET(名前1,値1,[名前2,値2,…],計算式)
変数を宣言して計算する関数です。
名前1:変数名
値1:名前1の変数の値
計算式:名前1を使用して計算ができます。
・REPT
REPT(文字列,繰り返し回数)
文字列で指定した文字を繰り返し回数分表示します。
・LEN
LEN(文字列)
文字列の文字数を返す関数です。
入力する数式
B3セルに入力
=IF($B$2=””,” “,IF($L$1=16,DEC2HEX(LET(A,HEX2DEC(B2),A+1)),B2+1))
後はB17セルまでオートフィルするだけです。

解説
$B$2=””
IF関数の条件式でB2セルが空白という条件です。
” “
条件が真なら空白を表示。
,IF($L$1=16,DEC2HEX(LET(A,HEX2DEC(B2),A+1)),B2+1)
条件が偽なら上記の数式を実行します。
$L$1=16
L1のセルに16が入力されているかという条件です。
DEC2HEX(LET(A,HEX2DEC(B2),A+1))
16が入力されていたら実行されます。
Aという変数にB2セルの数値を10進数に変換した値を入れます。
そこに1を足して16進数に変換します。
簡単に説明すると1つ上のセルに1を足すだけです。16進数では計算できないので一度10進数に変換してから計算し、16進数に変換しなおしています。
B2+1
16以外が入力されていたら実行します。
B2セルに1を足します。
C2セルに入力
=IF($B$2=””,” “,$J$1&REPT(“0”,$H$1-LEN(B2))&B2)
C17セルまでオートフィルするだけです。

解説
$B$2=””
B2セルが空白という条件です。
” “
条件が真なら空白を表示します。
$J$1&REPT(“0”,$H$1-LEN(B2))&B2)
条件が偽なら上記の式を実行します。
J1セルとREPT(“0”,$H$1-LEN(B2))とB2セルの文字を結合します。
REPT(“0”,$H$1-LEN(B2))
B2セルの文字数を読み取り、H1セルの値から引きます。
その回数分0を表示します。
頭文字とB列の数値を結合し、H1に設定した桁数表示にする為0埋めをしています。
D2セルに入力
このセルにはデバイスコメントを直接入力してもいいです。
文字列を結合して使いたい場合は下記の数式を入力してください。
=E2&F2&G2
E2とF2とG2に入力された文字を結合します。
必要に応じて増やしてください。
後はD17セルまでオートフィルするだけです。

コピー方法
この数式をコピーしてそのまま使えるのは1ワード分です。
2ワード目以降は数式の一部を変更する必要があります。
B3セルとC3セルに入力した数式の最初の部分
=IF($B$2=”” この$B$2をデバイス番号の先頭を設定するセルに変更してオートフィルします。
あらかじめ必要そうなワード分用意してマスターとして保存しておくことをオススメします。
おわりに
この表に入力したコメントをコピペするだけでコメント設定が完了します。
Excelを使用するとオートフィルが使えるので同じ単語を大量に使用する場合は大幅な時間短縮になります。
今回紹介したエクセルの作り方は少しでも入力する手間が省けるといいと思い作成したものになります。
完璧な作りではないのでこれを参考に使いやすいものを作ってみてください。
コメント