どうも、もももです。
ExcelでKEYENCE PLC用のデバイスリストを作成しました。
RデバイスやMRデバイスは16進数刻みでアドレス番号が増えていくので、Excelのオートフィル機能で連番の16進数(数字)を作ろうと思っても、うまく作ることができません。
上図の例だと R15, R16, R17, ・・・と連番が作成されます。
今回はR15, R100, R101, ・・・となるようにExcel関数を駆使して連番を作成します!
現状確認
実際のデバイスの並びを確認してみます。
R015の次はR100、R115の次はR200となっており、前のセル値の下2桁が「15」の場合、次のセル値は3桁目が+1、下2桁が00となる規則があります。
⇒R*15の次はR(*+1)00 *は任意の数
上記をこれから紹介する関数を用いて実装していきます。
使用関数
IF関数
IF(論理式(条件), 論理式(条件)が正の場合の値, 論理式(条件)が偽の場合の値)
IF関数は論理式の正・偽によって値を分岐できる関数です。
B列は整数値、C列は上部のIF関数の式を入力しオートフィル機能で3行目まで式が反映されている状態です。
B列の値が「1」の場合にB列のセル値+100をし、「1」以外の場合は0となるように式を作成しました。
B2セルが「1」のためC2セルは101になり、B3セルが「2」のためC3セルは0になっています。
RIGHT関数
RIGHT(文字列, 文字数)
RIGHT関数は指定した文字列の右側から指定した文字数を切り抜く関数です。
B2セルに「123456」、C2 セル にRIGHT関数を用いてB2の右側2文字を抜き出すように指定しました。
C2には「123456」の右側2文字の「56」が表示されています。
TEXT関数
TEXT(値, 表示形式)
TEXT関数は指定した値に表示形式を反映して文字列変換します。
B2セルに「1」を、C2セルには値にB2を、表示形式に「”000″」としたTEXT関数を設定しました。
C2セルには3桁に0埋めされた「001」が表示されています。(“000″で3桁0埋め)
解説
実際に上記の関数を使用してデバイスリスト作成用のシートを作成しました。
A2セルにデバイスの文字列を入力するとC列に入力したデバイスのデバイスリストが作成されます。(16進数字表記)
A列:デバイス文字列
A2セルにデバイスを指定します。(C列でA2セルとB列のセルを結合)
⇒A2セル:「R」
B列:アドレスリスト
B2セルにデバイスリストの先頭アドレスを指定します。(KV STUDIOのデバイスに合わせて3桁0埋め)
B3セル以降は以下の式を入力し以降はオートフィル機能で式をコピー
⇒B2セル:「=TEXT(0, “000”)」
⇒B3セル:「=TEXT(IF(RIGHT(B2,2)=”15″,B2-15+100,B2+1),”000″)」
B2セルと同様にTEXT関数で3桁0埋めしています。
IF関数では自セルの1つ上のセルの下2桁が「15」の場合は「-15+100」で2桁目までをクリア(-15)して3桁目に「1」(=100)を加算、「15」以外の場合は1桁目に1を加算しています。
例1)1つ上のセルが「015」の場合 ⇒ 自セルの値は「100」
例2)1つ上のセルが「014」の場合 ⇒ 自セルの値は「015」
C列:デバイスリスト
C列はC2セルに以下の式を入力し以降はオートフィル機能で式をコピーします。(A2セルは「$」で固定)
⇒C2セル:「=A$2&B2」
まとめ
ExcelでKEYENCE PLC用のデバイスリストの作成手順をまとめました。
関数駆使してデバイスリストを作成しました。
コメント