データテーブルのフィルタリングについて

データテーブルで特定条件のデータのみ残し、それ以外を削除して保存させようとしています。

sample

上記サンプルですが、この中で「性別列が空のものだけ残し、それ以外は削除」のような
処理を行いたいです。

このサンプルですと「次郎」と「三郎」の行だけが残るという事です。

Excelアプリケーションスコープで対象のファイルを呼び出し、
範囲を読み込み「データテーブルをフィルタリング(Filter Data Table)」を
利用しているのですが「列の名前」の値が設定されていないというエラーになります。

sample2

フィルタリング設定内容は以下です。「性別が空でない時に削除」と指定しているつもりです。
sample3

何か設定、あるいは認識が誤っておりますでしょうか。
ご教示のほどよろしくお願いいたします。

@Hara

エラーメッセージを見る限り、フィルタ対象のデータテーブルに列ヘッダが定義されていないようです。例えばExcel のRead range activity には、オプションにAdd headerというチェックボックスがあり、このアクティビティでヘッダー行を正しく読み込むためには、これをOnにする必要があります。(デフォルトはOnなので、少し違和感はありますが。。。)

後、デバッグで対象データテーブルの列名をみて、Column1, Column2などと表示されていれば、列名が正しく設定されていないということなので、こちらも確かめてみてください。

3 Likes

@Hara

こんにちは

@Jumboさんに追記で、

行フィルターモードは保持にしましょう!

今のままでは性別欄に何か値が入っていれば削除するという内容になっています! (真逆の動きをしてしまう…:cold_sweat:)

1 Like

@Hara さん、

このエラーの原因はJumboさんと言った通りに、Read rangeでAdd headerチェックしてないです。そのせいで、列名を見つかれなくて、フィルターできないです。

image

添付ファイルをご参考ください。
Datatable_Remove.zip (25.1 KB)

1 Like

@Jumbo
ありがとうございます、シンプルにここが原因でした。
(前の段階で、想定していなかったヘッダ削除や追加の処理がなされた為にチェックボックスをいじっておりました)

こちらの対応で解決しております。

@n-shiumi
仰る通り意図と逆になっておりましたので、修正して解決しました。ありがとうございます。

@Natapong
ご確認ありがとうございます。
ご指摘の通りで解決しております。

よろしくお願いいたします。