フィルタリングの方法について教えてください。

Excelからデータテーブルを読み込み、その中からフィルタリング機能などを使用して
「No.」というヘッダーの値が数字のもの(例:1111,12345)だけをExcelに書き込むよう処理するようにしたいです。

処理例
1111 → 処理
12345 → 処理
12345-1 → 処理しない

上記の通りのパターンで処理するために、どのようにすれば○○○○-1を除外して、数字のみのものを抽出できるでしょうか。

Hi @iamyusuke san,
My understand is row have “-1” in detail is 処理しない
that’s right?
can you share input and expect output?
regards,

こんにちは

例えば以下になります。

数値かどうかの判断は、Double.TryParseを使っていますが、IsNumeric (Microsoft.VisualBasic.Information.IsNumeric)でもよいと思います。

あとループではなくLINQ式で処理する方法もあります。

dtResult = dt.AsEnumerable.Where(Function(r) Double.TryParse(r("No.").ToString,New Double)).CopyToDataTable()

Sample
Sample20230927-2aL.zip (7.5 KB)

Yes, that’s right. I don’t want to get only the row of 「12345-1 」.

ありがとうございます。

ただ、「データテーブルをフィルター」アクティビティで「Does not contain」にして、値を"-1"にしたら出来ました。
ご教示いただいた方法でも実際に試してみようと思います。

Can you share sample input and expect output?
I will code for you

こんにちは

データテーブルをフィルタアクティビティで可能かどうかは
対象となる列にどのような文字が来るかによって変わります。

例えば数値以外の除去したいデータが必ず"数値-1"であるなら
"-1"を含まないで除外できますし、もし"数値-2"もあるなら
"-"を含まないで双方を除外できます

ただし"数値A"のようなケースがるならば、これでは除外できないので、
データが数値として判断できるものか否かで除外したほうが
適用できる範囲が広くなります。

このあたりは要件次第ですので、それに合わせて選択すると良いかと思います。