エクセルマクロ変換処理一覧
「対応表」シートに記載して利用する変換処理の一覧になります。
一つの項目に対して複数の値を設定する場合、データ列は ,
で区切って指定し、その他のパラメータは |
で区切って指定します。
例:
- データ列に複数の列、例えば
身長
と体重
を設定したい場合- データ列に
“身長,体重”
と指定 - 値がそれぞれ 180、72 であれば、値(1) が
180
、値(2) が72
となります
- 入力パラメータ(1) に
“A”
、入力パラメータ(2) に“B”
を設定したい場合- 入力パラメータ に
“A|B”
と指定
実際のサンプルデータを用いた解説は エクセルマクロ作成の手引 にありますので、併せて参考にしてください。
基本的な処理
固定値
一時変数に値を設定したい場合などに利用します。
項目 | 説明 |
---|---|
データ列 | - |
入力パラメータ | - |
出力パラメータ | - |
出力 | 入力パラメータに設定した文字列をそのまま出力します。 |
(指定なし)
データ列には列を一つ (ないし複数) 指定します。
複数指定した場合は、データ列の内容を連結した文字列が対象となります。
項目 | 説明 |
---|---|
データ列 | 列を一つまたは複数指定します。複数指定時は連結されます。 |
入力パラメータ | 比較したい文字列を複数指定することができます。*NOT EMPTY* 、*NOTEMPTY* は "" 以外の全文字列に合致します。*EMPTY* は "" に合致します。左側から順に評価されます。 |
出力パラメータ | それぞれ合致した場合の出力文字列です。 入力パラメータと同数が必要です。 *AS IS* 、*ASIS* 指定時は入力文字列をそのまま出力します。 |
出力 | 条件に合致した出力パラメータの値 |
使用例:
- 入力パラメータ が
"*EMPTY*|*NOTEMPTY*"
、出力パラメータ が"空白です|*ASIS*"
の場合- データ列の値が
""
であれば"空白です"
、100
であれば100
を出力します。
- データ列の値が
削除
指定された変数に保持された内容がクリアされます。通常、一時変数の後処理に使用します。
項目 | 説明 |
---|---|
データ列 | - |
入力パラメータ | - |
出力パラメータ | - |
出力 | 指定された変数の内容をクリアします。 一時変数の再利用や後処理に使用します。 |
日付時刻系
日付
データ列で指定された日付データを NCD 形式に変換します。指定された要素名の末尾に _YYYY, _MM, _DD を付与した 3 つのデータを出力します。
他の変換項目とは異なり、複数行出力されます。
項目 | 説明 |
---|---|
データ列 | 日付時刻 |
入力パラメータ | - |
出力パラメータ | - |
出力 | データ列名に_YYYY, _MM, _DD を付与した 3 つの NCD 形式データ |
使用例:
- データ列名が
"DATE_HOSP"
で値が"2024/01/04"
の場合DATE_HOSP_YYYY: 2024 DATE_HOSP_MM: 01 DATE_HOSP_DD: 04
時刻
日付時刻データから、hh:mm 形式の文字列を出力します。
項目 | 説明 |
---|---|
データ列 | 日付時刻データ |
入力パラメータ | - |
出力パラメータ | - |
出力 | hh:mm形式の文字列 |
時
データ列の 1 番目の値(分)を 60 で割った整数値を出力します。データ列(分)が ""
の場合は 0
として扱います。
項目 | 説明 |
---|---|
データ列 | 時間(分) |
入力パラメータ | - |
出力パラメータ | - |
出力 | 60で割った整数値 データ列が "" の場合は 0 として処理します。 |
使用例:
- 値 に
90
(分) が入っている場合、出力は1
です。 - 値 が
""
の場合、出力は0
です。
分
データ列の 1 番目の値(分)を 60 で割った余りを計算します。データ列(分)が ""
の場合は 0
として扱います。
項目 | 説明 |
---|---|
データ列 | 時間(分) |
入力パラメータ | - |
出力パラメータ | - |
出力 | 60で割った余り データ列が "" の場合は 0 として処理します。 |
使用例:
- 値 に
95
(分) が入っている場合、出力は35
です。 - 値 が
""
の場合、出力は0
です。
日付判定
データ列 1 番目の値が日付として有効であり、かつデータ列 2 番目の値が入力パラメータと一致する場合に、データ列 1 番目の値を出力します。 死亡年月日 での利用を想定しています。
項目 | 説明 |
---|---|
データ列 | 値(1): 判定対象の日付 値(2): 判定条件となる日付 |
入力パラメータ | 判定条件と比較する値 |
出力パラメータ | - |
出力 | 条件を満たす場合のみデータ列1番目の値(日付) |
使用例:
- 値(1) に
"2023/10/27"
、値(2) に"死亡"
、入力パラメータ に"死亡"
が入っている場合、出力は"2023/10/27"
です。 - 値(1) に
"2023/10/27"
、値(2) に"生存"
、入力パラメータ に"死亡"
が入っている場合、出力は""
です。 - 値(1) が日付として無効な場合、出力は
""
です。
日付差分
データ列 1 番目の日付からデータ列 2 番目の日付までの日数を計算して出力します。
項目 | 説明 |
---|---|
データ列 | 値(1): 開始日 値(2): 終了日 |
入力パラメータ | - |
出力パラメータ | - |
出力 | 開始日から終了日までの日数 |
使用例:
- 値(1) に
"2023/10/26"
、値(2) に"2023/10/27"
が入っている場合、出力は1
です。 - 値(1) に
"2023/10/27"
、値(2) に"2023/10/26"
が入っている場合、出力は-1
です。 - いずれかのデータ列が日付として無効な場合、出力は
""
です。
日付加算
データ列 1 番目の日付に、データ列 2 番目の日数を加算した日付を出力します。
項目 | 説明 |
---|---|
データ列 | 値(1): 加算対象の日付 値(2): 加算する日数 |
入力パラメータ | - |
出力パラメータ | - |
出力 | データ列1番目の日付にデータ列2番目の日数を加算した日付 |
使用例:
- 値(1) に
"2023/10/27"
、値(2) に3
が入っている場合、出力は"2023/10/30"
です。 - 値(1) が日付として無効、または 値(2) が数値として無効な場合、出力は
""
です。
時刻差分
データ列 1 番目の時刻からデータ列 2 番目の時刻までの差を分単位で計算し、出力します。日付を跨ぐ場合も考慮されます。2つの時刻のフォーマットは同じでなくてはなりません。
項目 | 説明 |
---|---|
データ列 | 値(1): 開始時刻 値(2): 終了時刻 |
入力パラメータ | - |
出力パラメータ | - |
出力 | 開始時刻から終了時刻までの差を分単位で計算し出力します。 日付を跨ぐ場合も考慮されます。 |
使用例:
- 値(1) に
"10:00"
、値(2) に"10:30"
が入っている場合、出力は30
です。 - 値(1) に
"23:00"
、値(2) に"01:00"
が入っている場合(日付を跨ぐ)、出力は120
です。 - いずれかのデータ列が時刻として無効な場合、エラーが発生する可能性があります。
数値系
数値加算
複数のデータ列の値を数値として加算し、合計値を出力します。データ列に ""
の値がある場合は 0
として扱います。全てのデータ列の値が数値として有効である必要があります。
項目 | 説明 |
---|---|
データ列 | 値(1)~値(N): 加算対象の数値 |
入力パラメータ | - |
出力パラメータ | - |
出力 | 全てのデータ列の数値の合計を出力します。 データ列に "" の値がある場合は 0 として扱います。全てのデータ列の値が数値として有効である必要があります。 |
使用例:
- 値(1) に
"10"
、値(2) に"20"
、値(3) に"30"
が入っている場合、出力は"60"
です。 - 値(1) に
"5"
、値(2) に""
が入っている場合、出力は"5"
です。 - 数値として無効な値は
0
として扱われます。
数値差分
データ列 1 番目の値からデータ列 2 番目の値を引いた差を計算し、出力します。データ列に ""
の値がある場合は 0
として扱います。
項目 | 説明 |
---|---|
データ列 | 値(1): 引かれる数 値(2): 引く数 |
入力パラメータ | - |
出力パラメータ | - |
出力 | データ列2番目の値からデータ列1番目の値を引いた差を出力します。 データ列に "" の値がある場合は 0 として扱います。 |
使用例:
- 値(1) に
"10"
、値(2) に"20"
が入っている場合、出力は"10"
です。 - 値(1) に
""
、値(2) に"5"
が入っている場合、出力は"5"
です。 - 値(1) に
"10"
、値(2) に""
が入っている場合、出力は"-10"
です。 - 数値として無効な値は
0
として扱われます。
数値逓倍
データ列の値を入力パラメータで乗算し、結果を出力します。データ列または入力パラメータが ""
の場合は 0
として扱います。
項目 | 説明 |
---|---|
データ列 | 乗算される数値 |
入力パラメータ | 乗数 |
出力パラメータ | - |
出力 | データ列の値と入力パラメータの積を出力します。 データ列または入力パラメータが "" の場合は 0 として扱います。 |
使用例:
- 値 に
"10"
、入力パラメータ に"5"
が入っている場合、出力は"50"
です。 - 値 に
""
、入力パラメータ に"3"
が入っている場合、出力は"0"
です。 - 値 に
"7"
、入力パラメータ に""
が入っている場合、出力は"0"
です。 - 数値として無効な値は
0
として扱われます。
数値分類
データ列の数値をいくつかの範囲に分類し、その分類結果を出力します。分類は、入力パラメータで指定された境界値に基づいて行われます。
項目 | 説明 |
---|---|
データ列 | 分類する数値 |
入力パラメータ | 数値の境界値(昇順に指定) |
出力パラメータ | 値に応じた分類結果: ・値が入力パラメータ(0)より小さい場合の結果 ・値が入力パラメータ(0)と等しい場合の結果 ・値が入力パラメータ(0)より大きく入力パラメータ(1)より小さい場合の結果 ・値が入力パラメータ(1)と等しい場合の結果 (以降同様) |
出力 | 値の範囲に応じた分類結果 |
使用例:
- 値 に
15
が入っている場合: 入力パラメータ に"10|20|30"
、出力パラメータ に"Small|Ten|Middle|Twenty|Large|Thirty|Very Large"
が入っている場合、出力は"Middle"
です。 - 値 に
10
が入っている場合: 入力パラメータ に"10|20|30"
、出力パラメータ に"Small|Ten|Middle|Twenty|Large|Thirty|Very Large"
が入っている場合、出力は"Ten"
です。 - 値 に
35
が入っている場合: 入力パラメータ に"10|20|30"
、出力パラメータ に"Small|Ten|Middle|Twenty|Large|Thirty|Very Large"
が入っている場合、出力は"Very Large"
です。 - 値 が数値として無効な場合、出力は
""
です。
数値比較
データ列 1 番目の値とデータ列 2 番目の値を数値として比較し、その結果に対応する出力パラメータを出力します。
項目 | 説明 |
---|---|
データ列 | 値(1): 比較する数値1 値(2): 比較する数値2 |
入力パラメータ | - |
出力パラメータ | ・値(1)が値(2)より小さい場合の結果 ・値(1)と値(2)が等しい場合の結果 ・値(1)が値(2)より大きい場合の結果 |
出力 | 比較結果に応じた出力パラメータの値 いずれかのデータ列の値が数値として無効な場合は "" を出力します。 |
使用例:
- 値(1) に
10
、値(2) に20
が入っている場合、出力は 出力パラメータ(0) の値です。例えば、出力パラメータ が"Less|Equal|Greater"
であれば、出力は"Less"
です。 - 値(1) に
15
、値(2) に15
が入っている場合、出力は 出力パラメータ(1) の値です。例えば、出力パラメータ が"Less|Equal|Greater"
であれば、出力は"Equal"
です。 - 値(1) に
25
、値(2) に20
が入っている場合、出力は 出力パラメータ(2) の値です。例えば、出力パラメータ が"Less|Equal|Greater"
であれば、出力は"Greater"
です。 - いずれかのデータ列の値が数値として無効な場合、出力は
""
です。
文字列系
文字列抽出
データ列の文字列から、指定された開始位置と文字数で部分文字列を抽出し、出力します。
項目 | 説明 |
---|---|
データ列 | 抽出元の文字列 |
入力パラメータ | 入力パラメータ(0): 抽出を開始する位置(1から始まる) 入力パラメータ(1): 抽出する文字数 |
出力パラメータ | - |
出力 | 指定された位置から指定文字数分の部分文字列 |
使用例:
- 値 に
"ABCDEFGHI"
、入力パラメータ に"3|4"
が入っている場合、出力は"CDEF"
です。 - 値 が
""
の場合、出力は""
です。 - 入力パラメータ の値が数値として無効な場合や、抽出範囲が元の文字列の範囲外である場合、エラーが発生する可能性があります。
文字列削除
データ列の文字列から、指定された位置から指定された文字数分の文字列を削除し、結果を出力します。
項目 | 説明 |
---|---|
データ列 | 削除元の文字列 |
入力パラメータ | 入力パラメータ(0): 削除を開始する位置(1から始まる) 入力パラメータ(1): 削除する文字数 |
出力パラメータ | - |
出力 | 指定された部分を削除した文字列 |
使用例:
- 値 に
"ABCDEFGHI"
、入力パラメータ に"3|4"
が入っている場合、出力は"ABGHI"
です。(3 文字目から 4 文字分"CDEF"
が削除されます) - 値 が
""
の場合、出力は""
です。 - 入力パラメータ の値が数値として無効な場合、または削除範囲が元の文字列の範囲外である場合、エラーが発生する可能性があります。
文字列挿入
データ列の文字列の指定された位置に、入力パラメータの文字列を挿入し、結果を出力します。
項目 | 説明 |
---|---|
データ列 | 挿入先の文字列 |
入力パラメータ | 入力パラメータ(0): 挿入する位置(先頭を0とする) 入力パラメータ(1): 挿入する文字列 |
出力パラメータ | - |
出力 | 指定された位置に文字列を挿入した結果 |
使用例:
- 値 に
"ABCDEFG"
、入力パラメータ に"3|_"
が入っている場合、出力は"ABC*DEFG"
です。(3 番目の文字の後に"*"
が挿入されます) _ 値 が""
の場合、入力パラメータ(0) が 0 であれば出力は 入力パラメータ(1) の値になります。 - 入力パラメータ(0) が数値として無効な場合、エラーが発生する可能性があります。
文字列変換
データ列の文字列を指定された方法で変換し、結果を出力します。変換方法は入力パラメータで指定します。
項目 | 説明 |
---|---|
データ列 | 変換する文字列 |
入力パラメータ | 変換の種類を指定する数値(VBAのStrConv関数の定数): ・vbUpperCase (1): 大文字変換 ・vbLowerCase (2): 小文字変換 ・vbProperCase (3): 先頭文字を大文字に変換 ・vbWide (4): 半角を全角に変換 ・vbNarrow (8): 全角を半角に変換 ・vbKatakana (16): ひらがなをカタカナに変換 ・vbHiragana (32): カタカナをひらがなに変換 |
出力パラメータ | - |
出力 | 指定された方法で変換された文字列 |
使用例:
- 値 に
"abcdefg"
、入力パラメータ に1
が入っている場合、出力は"ABCDEFG"
です。 - 値 に
"ABCDEFG"
、入力パラメータ に2
が入っている場合、出力は"abcdefg"
です。 - 値 に
"this is a pen"
、入力パラメータ に3
が入っている場合、出力は"This Is A Pen"
です。 - 値 が
""
の場合、出力は""
です。 - 入力パラメータ が StrConv 関数で定義されていない数値の場合、エラーが発生する可能性があります。
文字列置換
データ列の文字列に含まれる特定の部分文字列を、指定された別の文字列に置換し、結果を出力します。
項目 | 説明 |
---|---|
データ列 | 置換対象の文字列 |
入力パラメータ | 置換する文字列 |
出力パラメータ | 置換文字列 |
出力 | 指定された文字列を置換した結果 |
使用例:
- 値 に
"ABCDEFG"
、入力パラメータ に"CDE"
、出力パラメータ に"XXX"
が入っている場合、出力は"ABXXXFG"
です。 - 値 に
"apple banana apple"
、入力パラメータ に"apple"
、出力パラメータ に"orange"
が入っている場合、出力は"orange banana orange"
です。 - 値 が
""
の場合、出力は""
です。 - 入力パラメータ が
""
の場合、元の文字列がそのまま出力されます。
連結
複数のデータ列の値を連結し、結果を出力します。連結方法や区切り文字は入力パラメータで指定できます。
項目 | 説明 |
---|---|
データ列 | 値(1), 値(2), ...: 連結する文字列 |
入力パラメータ | 連結設定を"|"で区切って指定: ・指定なし: 単純連結 ・"区切り文字": 指定文字で連結 ・"区切り文字|末尾文字列": 指定文字で連結し末尾追加 ・"接頭辞|区切り文字|接尾辞": 接頭辞と接尾辞付きで連結 |
出力パラメータ | - |
出力 | 設定に従って連結された文字列 |
使用例:
- 値(1) に
"A"
、値(2) に"B"
、値(3) に"C"
が入っている場合: 入力パラメータ が""
の場合: 出力は"ABC"
です。 入力パラメータ が"-"
の場合: 出力は"A-B-C"
です。 入力パラメータ が"-|!"
の場合: 出力は"A-B-C!"
です。 入力パラメータ が"<<|-|>>"
の場合: 出力は"<<A-B-C>>"
です。 - いずれかのデータ列が
""
の場合、その部分は連結されません。
分離
データ列の文字列を指定された区切り文字で分離し、指定された番号の要素を出力します。
項目 | 説明 |
---|---|
データ列 | 分離する文字列 |
入力パラメータ | 区切り文字(改行コードの場合は "\n") |
出力パラメータ | 取得する要素の番号(1から始まる) |
出力 | 分離された要素のうち、指定番号の文字列 |
使用例:
- 値 に
"A,B,C,D"
、入力パラメータ に","
、出力パラメータ に"2"
が入っている場合、出力は"B"
です。 - 値 に
"apple\nbanana\ncherry"
、入力パラメータ に"\n"
、出力パラメータ に"3"
が入っている場合、出力は"cherry"
です。 - 値 に
"ABC"
、入力パラメータ に","
、出力パラメータ に"1"
が入っている場合(区切り文字がない場合)、出力は"ABC"
です。 - 値 に
"A,B,C"
、入力パラメータ に","
、出力パラメータ に"4"
が入っている場合(指定された番号の要素が存在しない場合)、出力は""
です。 - 入力パラメータ が
""
の場合、値 の値がそのまま出力されます。
イニシャル姓
データ列の文字列(姓)の最初の文字を抽出し、出力します。
項目 | 説明 |
---|---|
データ列 | 姓 または "姓 名" |
入力パラメータ | - |
出力パラメータ | - |
出力 | 姓の最初の文字を抽出して出力します。 |
使用例:
- 値 に
"やまだ たろう"
が入っている場合、出力は"Y"
です。 - 値 に
"たなか じろう"
が入っている場合、出力は"T"
です。 - 値 が
""
の場合、出力は""
です。
イニシャル名
データ列の文字列(名)のローマ字表記の最初の文字(イニシャル)を抽出し、出力します。名前にスペースが含まれる場合、スペース以降の最初の 1 文字または 2 文字を対象とします。全角スペースは半角スペースに変換されます。
項目 | 説明 |
---|---|
データ列 | "姓 名" |
入力パラメータ | - |
出力パラメータ | - |
出力 | 名のローマ字表記の最初の文字(大文字) 名がない場合は "" を出力します。 |
使用例:
- 値 に
"やまだ たろう"
が入っている場合、出力は"T"
です。 - 値 に
"たなか じろう"
が入っている場合、出力は"J"
です。 - 値 が
""
の場合、出力は""
です。
パターンマッチ系
正規表現
データ列の文字列に対して、入力パラメータの正規表現パターンに一致する部分を、指定された文字列で置換し、結果を出力します。 「検索」ではなく「置換」ですので注意してください。
項目 | 説明 |
---|---|
データ列 | 正規表現による置換を行う対象の文字列 |
入力パラメータ | 検索する正規表現パターン |
出力パラメータ | 一致した部分を置換する文字列 |
出力 | 正規表現による置換後の文字列 |
使用例:
- 値 に
"123-4567"
、入力パラメータ に"[^0-9]"
、出力パラメータ に""
が入っている場合、出力は"1234567"
です。(数字以外の文字を削除) - 値 に
"apple banana apple"
、入力パラメータ に"apple"
、出力パラメータ に"orange"
が入っている場合、出力は"orange banana orange"
です。("apple"
を"orange"
に置換) - 値 が
""
の場合、出力は""
です。 - 正規表現が無効な場合、エラーが発生する可能性があります。
正規表現マッチ
データ列の文字列が、入力パラメータで指定された正規表現パターンに一致するかどうかを判定し、結果に応じて指定された文字列を出力します。
項目 | 説明 |
---|---|
データ列 | 正規表現のマッチングを行う対象の文字列 |
入力パラメータ | 検索する正規表現パターン |
出力パラメータ | マッチした場合の出力文字列と マッチしなかった場合の出力文字列を"|"で区切って指定 |
出力 | マッチ結果に応じた文字列 |
使用例:
- 値 に
"apple123"
、入力パラメータ に"[0-9]+"
、出力パラメータ に"数字あり|数字なし"
が入っている場合、出力は"数字あり"
です。(文字列に 1 つ以上の数字が含まれているため) - 値 に
"apple"
、入力パラメータ に"[0-9]+"
、出力パラメータ に"数字あり|数字なし"
が入っている場合、出力は"数字なし"
です。 - 値 が
""
の場合、正規表現にマッチしないと判定され、出力は 出力パラメータ の 2 番目の文字列になります。 - Mac 環境では、エクセルの機能制限により正規表現は使用できず、エラーとなります。
正規表現サブマッチ
データ列の文字列に対して、入力パラメータで指定された正規表現パターンに最初にマッチする部分のうち、指定された番号のサブマッチ(括弧で囲まれた部分)を抽出し、出力します。
項目 | 説明 |
---|---|
データ列 | 対象の文字列 |
入力パラメータ | 正規表現パターン(抽出部分を括弧で指定) |
出力パラメータ | サブマッチの番号(0から始まる。0は最初の括弧を表す) |
出力 | 最初のマッチから抽出されたサブマッチ文字列 |
使用例:
- 値 に
"日付: 2023年10月27日"
、入力パラメータ に"日付: (....)年(..)月(..)日"
、出力パラメータ に"1"
が入っている場合、出力は"10"
です。(最初のマッチの2番目の括弧で囲まれた「月」の部分を抽出) - 値 に
"名前:山田太郎 (やまだたろう)"
、入力パラメータ に"名前:(.*) \((.*)\)"
、出力パラメータ に"1"
が入っている場合、出力は"やまだたろう"
です。(最初のマッチの2番目の括弧で囲まれたフリガナ部分を抽出) - 値 が
""
の場合、または正規表現にマッチしない場合、出力は""
です。 - 指定したサブマッチ番号が存在しない場合、出力は
""
です。 - Mac環境では、エクセルの機能制限により正規表現は使用できず、エラーとなります。
正規表現サブマッチ置換
データ列の文字列に対して、入力パラメータで指定された正規表現パターンに一致する部分を、出力パラメータで指定された形式($1, $2などのサブマッチ参照を含む)で置換した結果を出力します。
項目 | 説明 |
---|---|
データ列 | 正規表現による検索と置換を行う対象の文字列 |
入力パラメータ | 検索する正規表現パターン(抽出部分を括弧で指定) |
出力パラメータ | 置換後の文字列の形式($1, $2 などでサブマッチを参照可能) |
出力 | サブマッチを参照して置換された文字列 |
使用例:
- 値 に
"2023年10月27日"
、入力パラメータ に"(\d+)年(\d+)月(\d+)日"
、出力パラメータ に"月日は$2/$3です"
が入っている場合、出力は"月日は10/27です"
です。(月と日を抽出して指定された形式で出力) - 値 に
"山田太郎(やまだたろう)"
、入力パラメータ に"(.*)\((.*)\)"
、出力パラメータ に"お名前:$1、読み方:$2"
が入っている場合、出力は"お名前:山田太郎、読み方:やまだたろう"
です。(名前とフリガナを抽出して指定された形式で出力) - 値 が
""
の場合、または正規表現にマッチしない場合、出力は""
です。 - Mac環境では、エクセルの機能制限により正規表現は使用できず、エラーとなります。
LIKE
データ列が、入力パラメータで指定されたパターンに一致するかどうかを順に判定し、最初に一致したパターンに対応する出力パラメータを出力します。
項目 | 説明 |
---|---|
データ列 | パターンマッチングを行う対象の文字列 (複数指定時は内容を接続) |
入力パラメータ | 比較するパターンを格納した配列 ワイルドカード(*、?など)使用可 |
出力パラメータ | 入力パラメータの各パターンに対応する出力文字列の配列 入力パラメータと同じ要素数が必要 |
出力 | 最初に一致したパターンに対応する出力パラメータ |
使用例:
データ列の内容 が
"ABCDEFG"
、入力パラメータ に"ABC_|DEF\*"
、出力パラメータ に"パターン 1 に一致|パターン 2 に一致"
が入っている場合、出力は"パターン 1 に一致"
です。データ列の内容 が
"PQRXYZ"
、入力パラメータ に"ABC*|DEF*"
、出力パラメータ に"パターン1に一致|パターン2に一致"
が入っている場合、出力は""
です。- 入力パラメータ が
""
の場合、データ列の値がそのまま出力されます。例えば、データ列の内容 に"TEST"
が入っている場合、出力は"TEST"
です。
CB 項目
データ列の文字列に、入力パラメータで指定された文字列が含まれているかどうかを判定し、含まれている場合に、対応する出力パラメータをカンマ区切りで連結して出力します。
項目 | 説明 |
---|---|
データ列 | 検索対象の文字列 (複数指定時は内容を接続) |
入力パラメータ | 検索する文字列のリスト |
出力パラメータ | 入力パラメータの各要素に対応する出力文字列のリスト |
出力 | 含まれている文字列に対応する出力パラメータをカンマ区切りで出力します。 何も含まれていない場合は "" を出力します。 |
使用例:
- 検索対象の文字列 に
"リンゴ バナナ オレンジ"
、入力パラメータ に"リンゴ|ミカン|バナナ"
、出力パラメータ に"果物1|果物2|果物3"
が入っている場合、出力は"果物1,果物3"
です。("リンゴ"
と"バナナ"
が含まれているため) - 検索対象の文字列 に
"ぶどう パイナップル"
、入力パラメータ に"リンゴ|ミカン|バナナ"
、出力パラメータ に"果物1|果物2|果物3"
が入っている場合、出力は""
です。
特殊処理
複数カラム CB
複数の指定されたデータ列の値が、それぞれの入力パラメータと一致するかどうかを判定し、一致した場合に対応する出力パラメータをカンマ区切りで連結して出力します。
項目 | 説明 |
---|---|
データ列 | 複数のデータ列を参照 |
入力パラメータ | 各データ列に対応する比較対象の値を格納した配列 |
出力パラメータ | 各データ列と入力パラメータの組み合わせが一致した場合に出力する値を格納した配列 |
出力 | 一致したデータ列の出力パラメータをカンマ区切りで出力 一致するものがない場合は "" を出力します。 |
使用例:
- データ列に
"商品名"
列と"価格"
列があり、それぞれ"リンゴ"
と"100"
が入っているとします。 - データ列が
"商品名,価格"
で、入力パラメータ に"リンゴ|200"
、出力パラメータ に"果物|高価格"
が入っている場合、出力は"果物"
です。("商品名"
列の値"リンゴ"
が 入力パラメータ の"リンゴ"
と一致するため) - データ列に
"商品名"
列と"価格"
列があり、それぞれ"リンゴ"
と"100"
が入っているとします。 - データ列
"商品名,価格"
で、入力パラメータ に"みかん|100"
、出力パラメータ に"果物|高価格"
が入っている場合、出力は"高価格"
です。("価格"
列の値"100"
が 入力パラメータ の"100"
と一致するため)
複数カラム RB
複数の指定されたデータ列の値が、それぞれの入力パラメータと一致するかどうかを順に判定し、最初に一致したデータ列に対応する出力パラメータを出力します。
項目 | 説明 |
---|---|
データ列 | 複数のデータ列を参照 |
入力パラメータ | 各データ列に対応する比較対象の値を格納した配列 |
出力パラメータ | 各データ列と入力パラメータの組み合わせが一致した場合に出力する値を格納した配列 |
出力 | 最初に一致したデータ列の出力パラメータ 一致するものがない場合は "" を出力します。 |
使用例:
- データ列に
"商品名"
列と"価格"
列があり、それぞれ"リンゴ"
と"100"
が入っているとします。 - データ列
"商品名,価格"
で、入力パラメータ に"リンゴ|200"
、出力パラメータ に"果物|高価格"
が入っている場合、出力は"果物"
です。("商品名"
列の値"リンゴ"
が 入力パラメータ の"リンゴ"
と最初に一致するため) - データ列に
"商品名"
列と"価格"
列があり、それぞれ"リンゴ"
と"100"
が入っているとします。 - データ列
"商品名,価格"
で、入力パラメータ に"みかん|100"
、出力パラメータ に"果物|高価格"
が入っている場合、出力は"高価格"
です。("価格"
列の値"100"
が 入力パラメータ の"100"
と最初に一致するため)
生死判定
3 つの日付データ列を基に生死判定を行い、結果を出力します。
項目 | 説明 |
---|---|
データ列 | 値(1): 生死を知りたい日付 値(2): 生存状態を示す文字列(入力パラメータ(0)と比較) 値(3): 基準日 |
入力パラメータ | 入力パラメータ(0): 死亡状態を示す文字列 入力パラメータ(1): 基準日から起算する日数 |
出力パラメータ | 出力パラメータ(0): 日付条件により判定保留となる場合の出力 出力パラメータ(1): 死亡と判定された場合の出力 出力パラメータ(2): 生存と判定された場合の出力 |
出力 | 条件に応じた判定結果 日付が無効な場合は "" を出力します。 |
使用例:
- 値(1) に
"2024/01/15"
、値(2) に"死亡"
、値(3) に"2024/01/10"
、入力パラメータ に"死亡|7"
、出力パラメータ に"不明|死亡|生存"
が入っている場合、出力は"死亡"
です。(基準日 + 7 日 は 2024/01/17、生死を知りたい日付 2024/01/15 はそれ以前なので死亡) - 値(1) に
"2024/01/20"
、値(2) に"死亡"
、値(3) に"2024/01/10"
、入力パラメータ に"死亡|7"
、出力パラメータ に"不明|死亡|生存"
が入っている場合、出力は"不明"
です。(基準日 + 7 日 は 2024/01/17、生死を知りたい日付 2024/01/20 はそれ以降なので不明) - 値(1) に
"2024/01/20"
、値(2) に"生存"
、値(3) に"2024/01/10"
、入力パラメータ に"死亡|7"
、出力パラメータ に"不明|死亡|生存"
が入っている場合、出力は"生存"
です。(生死を知りたい日付 2024/01/20 は基準日より後なので生存)
いずれかの日付が日付として無効な場合、出力は ""
です。
参照
データ列の値をキーとして、指定されたワークシートと範囲を参照し、該当する行の指定された列の値を出力します。VLOOKUP 関数を使用し、キーが存在しない場合はデータ列の値をそのまま出力します。キーの型が一致しない場合に備え、文字列検索後、数値に変換して再検索を試みます。
項目 | 説明 |
---|---|
データ列 | 検索キーとなる値 |
入力パラメータ | 入力パラメータ(0): 参照先のワークシート名 入力パラメータ(1): 参照範囲の左上隅のセルアドレス 入力パラメータ(2): 参照範囲の右下隅のセルアドレス 入力パラメータ(3): 参照範囲内で取得する列番号(左端の列を1とする) |
出力パラメータ | - |
出力 | VLOOKUP関数を使用し、キーが存在しない場合はデータ列の値をそのまま出力 キーの型が一致しない場合、文字列検索後に数値に変換して再検索を試みます。 |
使用例:
- 値 に
"apple"
、入力パラメータ に"Sheet2|A1|B10|2"
が入っている場合、Sheet2 の A1:B10 の範囲で"apple"
を検索し、見つかった行の 2 列目の値を出力します。 - Sheet2 の A 列に
"apple"
が見つからなかった場合、数値に変換して再検索します。 - それでも見つからなかった場合、出力は
"apple"
になります。
参照正規表現
データ列の文字列に対して、指定されたワークシートのA列の正規表現パターンを順に適用し、最初にマッチしたパターンの行のB列の値を出力します。マッチするパターンがない場合は空文字を出力します。
項目 | 説明 |
---|---|
データ列 | マッチング対象となる文字列 |
入力パラメータ | 入力パラメータ(0): 参照先のワークシート名 |
出力パラメータ | - |
出力 | A列の正規表現パターンにマッチした行のB列の値 マッチするパターンがない場合は空文字 |
テーブル構造 | A列: 正規表現パターン(例:頭皮.*(創|打撲|傷|骨折)) B列: 出力値(例:S01.0) |
使用例:
- 値 に
"前額部挫創"
、入力パラメータ に"外傷病名"
(シート名) が入っている場合、外傷病名シートの正規表現パターン(額\|頭\|顔\|口\|唇\|眼\|顎\|耳\|鼻\|頬\|脳\|眉).*(創\|打撲\|傷\|骨折)
にマッチするため、その行のコード値S01.8
を出力します。 - マッチするパターンがない場合、出力は
""
(空文字) になります。
参照するシートの例
正規表現パターン | コード | 説明 |
---|---|---|
犬咬創 | W54 | 犬咬創 |
... | ... | ... |
(額|頭|顔|口|唇|眼|顎|耳|鼻|頬|脳|眉).*(創|打撲|傷|骨折) | S01.8 | 頭部のその他の部位の開放創 |
... | ... | ... |