yuuri
(Yusso)
1
困っているのでご教授お願いします。
やりたいこと
1. Excelシートから対象の月を探す
2. A商品売上のあるセルを探す
3. 1から列のみ取得&2から行のみ取得
4. 3の合わせた情報からセルを割り出し月の売上をセルに入力
月は行で探すのですが、複数個所にあります。
何列目にあるのかを特定したいだけなので
範囲を検索アクティビティ 範囲 5:5
としています。
Excelシートイメージはこのようになっております。
11月 12月 1月 2月
A商品売上 ○○ ○○ ○○ ○○
返品 ○○ ○○ ○○ ○○
11月 12月 1月 2月
B商品売上 ○○ ○○ ○○ ○○
返品 ○○ ○○ ○○ ○○
困っているのが、
2月と指定して検索しても、12月が一致してしまいます。
1月の場合は11月が一致しています。
ほかのアクティビティを利用したほうがよいでしょうか。
何か良い方法があればアドバイスください。
よろしくお願いいたします。
Yoichi
(Yoichi)
2
こんにちは
部分一致検索となっているためと思われます。
表の範囲が固定的であれば、範囲読み込みで上の表と下の表をそれぞれ
DataTableとして読み込んで、それを処理した方が良いように思えます。
1 Like
yuuri
(Yusso)
3
Yoichiさん
アドバイスありがとうございます。
部分一致となるのですね。
完全一致で検索をしたいので、DataTableとして読み込むことが望ましいということですね。
添付のような集計表なのですが、DataTableで読み込み「月」のあるColumnを探す。処理ということでしょうか。
青い列にデータを書き込みます。
Yoichi
(Yoichi)
4
こんにちは
この場合明示的に検索する必要はないかもしれません。
表が固定的であるなら、範囲読み込みアクティビティで、範囲を例えば"C4:N7" ヘッダ付きで
読み込み、その結果をdtとすると
dt.Rows(1)("2月") = "入力したい値"
とするとDataTableに書き込めますので、最後にこれをワークシートに書き戻せばOKかと思います。
yuuri
(Yusso)
5
Yoichiさん
回答を素早く頂けるので業務につながりとても助かります。
ありがとうございます!
月を探すのではなく、Excelの書き込み部分をdtとし、該当のセル部分にいただいた式を代入するのですね。
月を探すことばかり考えていました。
これで何とかなりそうです。
うまく行きそうにない時はまたご相談させてください。
この方法で試してみます。
感謝感謝です。ありがとうございます。
yuuri
(Yusso)
6
Yoiichiさん
解決とさせていただいたのに質問をしてしまい、申し訳ありません。
Uipath初心者のため、お手数おかけします。
手順はこのようだと思っています。
1.Excel実績表をdtに入れる
2.dtの書き込みたい行と列を指定し、いただいた式を使って代入する
3.Excelに書き戻す。
・Excelに書き戻す。際はセル書き込みだと思うのですが、そこで書き込みするセルを指定する必要があります。
この指定をせずに、2月+A商品の該当するセルを突き止めて、そこにあたいをかくにはどのようにしたらよいのでしょうか。
実績表は共同で利用する場所に格納されており、dt のデータごと実績表に戻すことができません。
よろしくお願いいたします。
Yoichi
(Yoichi)
7
こんにちは
セルを特定するのが面倒なので、表全体を範囲を書き込みで書き込めば良いかと思います。
1 Like
yuuri
(Yusso)
8
Yoichiさん
Replyさっそくありがとうございます!
表全体を範囲を書き込みで書き込む
処理はこのような感じであっていますか?
範囲を読み込み
シート名-実績表 範囲-C4:P20
出力-dt
↓
複数代入
①dt.Rows(1)(“2月”)=金額
②dt.Rows(2)(“2月”)=金額
③dt.Rows(3)(“2月”)=金額
↓
範囲に書き込み
シート名-実績表 範囲-C4:P20
dt
読み込んだExcelデータをdtに入れてそのデータを同じ範囲のExcelに書き込む
というイメージですが、Yoichiさんのアドバイス通りになっていますか?

Yoichi
(Yoichi)
9
こんにちは
やってみた方が早いと思いますが....
シート名-実績表 範囲-C4:P20
範囲書き込みの場合、書き込み先の指定は範囲ではなく、開始アドレスかと思いますので
ヘッダー付きで書き込む場合は、“C4”
ヘッダーなしで書き込む場合は、“C5”
になるかと思います。
1 Like
system
(system)
Closed
10
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.