Data Table filterの操作

下記のExcelを読み込み、年齢40歳以上の人のみCSVデータに抽出する方法を教えてください。

text1.xlsx
No,氏名,年齢,性別
1,山さん,30,男
2,川さん,45,女
3,谷さん,28,女
4,森さん,50,男

結果
No,氏名,年齢,性別
2,川さん,45,女
4,森さん,50,男

1.Read Range読み込みで、変数:DT(DataTable型)に出力。
2.Filter Data Tableで、下記を設定。
Input DataTable:DT
Output DataTable:DT
Rows Filtering Mode:Keep
“年齢” >= 40
3.Write CSVでDT(DataTable型)を書き出し。

1,3は問題なく
2のFilter Data Tableだけエラーになります。
試しにフィルタリングを性別:男にするとちゃんとCSVで書き出しできます。

年齢で40以上にすると何も表示されません。
Rows Filtering Mode:Removeでも意図した結果になってません。
どなたかご教授お願いします。

nittobo5様

ご返信ありがとうございます。
1.書式設定は標準になっておりました。
2.Read Rangeは元々Workbook Read Rangeを使用しており、
Excel Read Range試してみましたが、今回質問させていただいた内容と同じ結果でした。
せっかくご教授頂いたのに申し訳ありません。

text1.xlsxのNoで3以上としても同じ状況だったので、
Read Rangeで出力したDataTable型との問題な気がしますので、
他の方法を検討します。

この度はありがとうございました。

@kunie filtering data.xaml (5.9 KB)
plzはこれを見ている、それはあなたに年齢> 40として出力を与えるでしょう。何かがうまくいかないかどうか私に知らせて

1 Like

@venkatmalla6

You are Great!!
Thank you So much.
I was able to do it by the method taught.

@kunie 他の人に役立つように、解決策としてマークしてください。

Filter Data Tableする前に、
ForEachRowで、全行に対して、
row(“年齢”)=Cint(row(“年齢”))
ってAssignしたら、
フィルタ掛かりましたよ。

是非やってみてくださいませ。

2 Likes

ありがとうございます。
やってみます!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.