# データテーブルの特定カラムの数値でフィルタをする方法

**URL:** <https://forum.uipath.com/t/topic/209557>\
**Category:** フォーラム\
**Tags:** question\
**Created:** [April 7, 2020, 2:48am UTC](https://forum.uipath.com/t/topic/209557 "2020-04-07T02:48:47Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![196006](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/196006/32/180226_2.png) [@196006](https://forum.uipath.com/u/196006)\
**Post date:** [April 7, 2020, 2:48am UTC](https://forum.uipath.com/t/topic/209557/1 "2020-04-07T02:48:47Z")

</div>

データテーブルのC列は、数字が入っています。  
このC列の数字が１より小さい行のみ抽出したいです。  
「データテーブルをフィルタリング」アクティビティを使おうとしました。  
しかし、C列はstringの数字なのでアクティビティの中の条件を[“C列” \< 1]にしても  
正しく動作しませんでした。  
こういった場合、どのようにフィルタすればいいでしょうか？  
ご指導よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![ytakayama](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/ytakayama/32/263311_2.png) [@ytakayama](https://forum.uipath.com/u/ytakayama)\
**Post date:** [April 7, 2020, 4:12am UTC](https://forum.uipath.com/t/topic/209557/2 "2020-04-07T04:12:58Z")

</div>

いまいち状況がつかめていないのですが、読み込むExcelが文字列書式になっているから  
絞りこめないということでしょうか？  
Excelの書式変更せずにやるとしたら

①データテーブルとして取り込んだあとにC列のInt型に変換した列を追加する  
②For Eachでループして対象外の行を削除する

となると思います。  
難易度的にはどっちもどっちですが、①の方が簡単（アクティビティ2個）だと思います。

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [April 7, 2020, 5:44am UTC](https://forum.uipath.com/t/topic/209557/3 "2020-04-07T05:44:27Z")

</div>

こんにちは

C列の内容が整数の文字列なら、以下で可能かと思います。

```
dt = dt.AsEnumerable().Where(function(r) CInt(r("C列").ToString())<1).CopyToDataTable()

```

---

<div class="post-metadata">

**Author:** ![minami](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/minami/32/176649_2.png) [@minami](https://forum.uipath.com/u/minami)\
**Post date:** [April 7, 2020, 5:58am UTC](https://forum.uipath.com/t/topic/209557/4 "2020-04-07T05:58:12Z")

</div>

データテーブルを作成するときC列の型をint32にして作っておけば数字でのフィルタが効くと思います。

---

<div class="post-metadata">

**Author:** ![minami](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/minami/32/176649_2.png) [@minami](https://forum.uipath.com/u/minami)\
**Post date:** [April 7, 2020, 6:30am UTC](https://forum.uipath.com/t/topic/209557/5 "2020-04-07T06:30:30Z")

</div>

うわ、これは素晴らしいですね  
このやり方は思いつきませんでした・・・

---

<div class="post-metadata">

**Author:** ![196006](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/196006/32/180226_2.png) [@196006](https://forum.uipath.com/u/196006)\
**Post date:** [April 7, 2020, 7:56am UTC](https://forum.uipath.com/t/topic/209557/6 "2020-04-07T07:56:44Z")

</div>

ytakayama様  
いつもご指導ありがとうございます。  
①の方法は、思いつきませんでした。わたくしの引き出しを増やすことができました。  
ちなみにアクティビティ２個を教えていただければ幸いです。  
②の方法は、わたくしも最初とりかかろうとして、時間がかかると思い、躊躇しておりました。

---

<div class="post-metadata">

**Author:** ![ytakayama](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/ytakayama/32/263311_2.png) [@ytakayama](https://forum.uipath.com/u/ytakayama)\
**Post date:** [April 7, 2020, 9:37am UTC](https://forum.uipath.com/t/topic/209557/7 "2020-04-07T09:37:29Z")

</div>

@196006 様

> ちなみにアクティビティ２個を教えていただければ幸いです。

以下の2つかと思います。

①「データ列の追加」アクティビティ  
→DTに新しい列を作るために使用

②「繰り返し（各行）」アクティビティ  
→DT1行ずつにC列の値を新しい列に移行するために使用

よく考えると②の繰り返しの中で「代入」アクティビティを使用するので  
3つといえるかもしれないですね。  
（row(“新しい列名”) = Ctype(row(“C列の名前”), 変換したい型）ですかね。）

---

<div class="post-metadata">

**Author:** ![196006](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/196006/32/180226_2.png) [@196006](https://forum.uipath.com/u/196006)\
**Post date:** [April 8, 2020, 12:06am UTC](https://forum.uipath.com/t/topic/209557/8 "2020-04-08T00:06:49Z")

</div>

ytakayama様  
ご回答ありがとうございます。  
とても参考になりました。  
使わせていただきます。

---

<div class="post-metadata">

**Author:** ![shinji](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/shinji/32/496460_2.png) [@shinji](https://forum.uipath.com/u/shinji)\
**Post date:** [April 8, 2020, 2:15am UTC](https://forum.uipath.com/t/topic/209557/9 "2020-04-08T02:15:06Z")

</div>

「代入」アクティビティで、列の定義を変換してSELECTする方法もあるかと思います。

`drows = dt.Select("Convert(C列, 'System.Decimal') < 1")`

参考まで。

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/system/32/182466_2.png) [@system](https://forum.uipath.com/u/system)\
**Post date:** [April 11, 2020, 2:15am UTC](https://forum.uipath.com/t/topic/209557/10 "2020-04-11T02:15:11Z")

</div>

Closed on April 11, 2020, 2:15am UTC

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