行抽出条件とは
読み取ったCSVファイルから抽出する行(レコード)を指定します。
条件指定が設定されている場合、結果がTRUEのレコードが抽出されます。
条件指定の設定がない場合は、すべてのレコードが抽出されます。
なお、CSVファイル内の空行は(標準フォーマット取り込みと同様)無視します。

書式
- Excelの論理式をベースとした書式で、抽出したい行がTRUEになるように記載します。
- 最初は代入演算子の = から始めます。
- CSV配列変数と行抽出条件に対応するExcel 演算子(=, <>, <, <=, >, >=, &, =)、Excel関数(IF, AND, OR, LEFT, RIGHT, MID, LEN, TRIM, FIND, SEARCH, IF, AND, OR, ISERROR, ISNUMBER)を用いて指定します。
- 固定文字列はダブルクォーテーション(")で囲います。
ダブルクォーテーション自体を固定文字列内で使用する場合は二重にします。
例)"旧社名""山田屋""" - 改行は無視します。
- コメントは //から行末まで。
サンプル
例1)
// 7列目が "1" の行のみ取り込む
=CSV(7)="1"
例2)
// 12列目が "在庫管理をする" の行のみ取り込む
=CSV(12)="在庫管理をする"
例3)
// 4列目と5列目に値がセットされている行のみ取り込む
=AND(CSV(4)<>"", CSV(5)<>"")
例4)
// 4列目に値があり、かつ5列目と一致する行のみ取込
=AND(CSV(4)<>"", CSV(4)=CSV(5))
例5)
// 4,5列目に値がセットされている かつ 7列目が1か3 の行を取り込む
=AND(CSV(4)<>"", CSV(5)<>"", OR(CSV(7)="1",CSV(7)="3"))
例6)
// 2列目が"1"なら全て取り込み、
// "1"でないなら4列目に値がセットされている行のみ取り込む
=IF(CSV(2)="1", TRUE, CSV(4)<>"")
例7)
// 4列目の先頭文字が "S" の行のみ取り込む
=LEFT(CSV(4), 1)="S"
例8)
// 3列目に"使用不可"を含まない行を取り込む
=ISERROR(FIND("使用不可",CSV(3)))
対応するExcel演算子
比較演算子
演算子 | 用途 | 使用例 |
---|---|---|
= | 最初の値が 2 番目の値と等しい場合に True を返します。 | Value1 = Value2 |
<> | 最初の値が 2 番目の値と等しくない場合に True を返します。 | Value1 <> Value2 |
< | 最初の値が 2 番目の値より小さい場合に True を返します。 | Value1 < Value2 |
<= | 最初の値が 2 番目の値以下の場合に True を返します。 | Value1 <= Value2 |
> | 最初の値が 2 番目の値より大きい場合に True を返します。 | Value1 > Value2 |
>= | 最初の値が 2 番目の値以上の場合に True を返します。 | Value1 >= Value2 |
連結演算子
演算子 | 用途 | 使用例 |
---|---|---|
& | 2 つの文字列を組み合わせて、1 つの文字列を作成します。 | string1 & string2 |
代入演算子
演算子 | 用途 |
---|---|
= | 右辺を左辺に代入します。 |
対応するExcel関数
文字列操作・変換
関数名 | 用途 | 構文 | 備考 |
---|---|---|---|
LEFT | 文字列の先頭から指定された数の文字を返します。 | LEFT(文字列, 文字数) | 文字数を省略した場合は1文字を返します。 |
RIGHT | 文字列の末尾から指定された数の文字を返します。 | RIGHT(文字列, 文字数) | 文字数を省略した場合は1文字を返します。 |
MID | 文字列の指定された位置から指定された文字数の文字を返します。 | MID(文字列, 開始位置, 文字数) | 文字数は省略不可です。 |
LEN | 文字列の文字数を返します。 | LEN(文字列) | |
TRIM | 文字列の先頭と末尾のスペースを削除します。 | TRIM(文字列) | 単語間のスペースは1つ残し、不要なスペースを削除します。 |
FIND | 文字列を検索し、最初に見つかった位置を返します。(大文字小文字を区別します。) | FIND(検索文字列, 対象文字列, 開始位置) | 開始位置を省略時は先頭から検索します。文字列が見つからなかった場合はエラー値(#VALUE!)を返します。ISNUMBER や ISERROR と組合せてご使用ください。 |
SEARCH | 文字列を検索し、最初に見つかった位置を返します。(大文字小文字を区別しません。) | SEARCH(検索文字列, 対象文字列, 開始位置) | 開始位置を省略時は先頭から検索します。文字列が見つからなかった場合はエラー値(#VALUE!)を返します。ISNUMBER や ISERROR と組合せてご使用ください。 |
論理演算
関数名 | 用途 | 構文 | 備考 |
---|---|---|---|
IF | 論理式の結果に応じて2つの値のいずれかを返します。 | IF(論理式, 値が真の場合, 値が偽の場合) | |
AND | すべての論理式がTRUEならTRUE、それ以外はFALSEを返します。 | AND(論理式1, 論理式2, …) | 論理式は1つ以上を指定します。 |
OR | すべての論理式がFALSEならFALSE、それ以外はTRUEを返します。 | OR(論理式1, 論理式2, …) | 論理式は1つ以上を指定します。 |
ISERROR | 値がエラーの時にTRUEを返します。 | ISERROR(値) | FINDやSEARCHと組合せて使用します。 |
ISNUMBER | 値が数値の時にTRUEを返します。 | ISNUMBER(値) | FINDやSEARCHと組合せて使用します。 |
※文字数は全角・半角とも1文字でカウントします。