関数を記述した列の追加方法について

元データから処理後データの状態へ作業を行いたいです。

作業内容としては、元ある表の右側に列を挿入、列名を記入かつ2行目からは関数を記入して処理を行えればと思います。

UiPath質問用データ.zip (11.0 KB)

記入する関数はおおよそ作成できたんですが、UiPathにてこれらの列の追加方法が分からず困っております。

大変恐縮ですが、ご教授いただけますと幸いです。

E列の担当者欄については、H列に追加ではなくD列のメールアドレスを対応した担当者に書き換える方法があれば教えて頂きたいです! 難しそうであれば列追加で対応を考えております

@yulax,

Use Excel Process Scope → Use Excel File → Write Cell activity to write column name at first row.

After that user fill range activity to file data from second row.

こんにちは

例えばDictionary等を使うと可能です。以下のようになるかと思います。

dict = dtMaster.AsEnumerable.ToDictionary(Function(r) r("従業員アドレス").ToString(),Function(r) r("従業員リスト").ToString())

Sample
Sample20250803-1.zip (10.7 KB)
result.xlsxに出力しています。

上記の担当者欄の変更について確認させて頂きましたが、
返信に時間がかかってしまいもうしわけございません。

一旦他作業でも使うという事もあり、
F,G列の記入方法をお伺いできますと幸いです。

セルに書き込みで=C2&A2を最終列まで繰り返しにて書き込むことはできたんですが、行数が8000件ほどあり、処理に時間がかかってしまうので、
データテーブルを読み込み→書き込み用のデータテーブルを作成→指定範囲に書き込みの手順で作成してみようかと検討しており、作成方法が分からず手づまりしております。

お忙しい所恐れ入りますが、ご教授いただけますと幸いです。

こんにちは

例えば以下のようになると思います

Sample
Sample20250803-1v2.zip (10.9 KB)

ご回答ありがとうございます。
動作内容は上記の内容で作成したんですが、
読み取り元のデータがCSVでの作業もあり、その場合には範囲を読み込みアクティビティの対象外となってしまいます。
どのような対応がスムーズに動作できますでしょうか?

いくつか方法がありますが、まずはCSVを読み込みアクティビティを試すのが良いかと思います。

ご回答ありがとうございます!
CSVの元データの読み込み完了しましたが、
範囲を読み込みで従業員リスト、アドレスの表をデータテーブルに格納、
代入でdictionaryへ保存したいんですが、
「代入:同一のキーを含む項目が既に追加されています」のエラーで進めることができません。何か良い対応策はございますでしょうか?

また、CSVを読み込みだとシート全体をデータテーブルへ格納してしまうので、
その後の担当者の書き換え、姓と名前を結合、その後の書き込みの列指定の処理が不安です。
読み込み及び、書き込む列やセルの指定が可能だったりするのかお伺いしたいです。

キーに重複するものがあるためかと思います。
空欄なども含めて、キーの重複があるか、ある場合値は同じものか異なるものかを確認できますでしょうか?
同じものであれば事前に重複排除することで解決可能ですが、異なるものであれば値を一意に決定できないので、データそのものや、業務ロジックの見直しが必要かと思います。

また、CSVを読み込みだとシート全体をデータテーブルへ格納してしまうので、
その後の担当者の書き換え、姓と名前を結合、その後の書き込みの列指定の処理が不安です。
読み込み及び、書き込む列やセルの指定が可能だったりするのかお伺いしたいです。

特段処理としては問題ないと思います。(むしろCSVはフォーマットのとして規約が緩いので、一括で処理したほうがトラブルは少ないように思えます)

申し訳ございません。私がキーがどこにあたるものなのかを把握しておらず、
確認が漏れてました。従業員アドレス内に同一のものがありましたので削除いたしました。

CSVでの書き込みも問題なく処理行えました!
ご確認ありがとうございます!

また、指定の項目(仮に応対日とする)が入力されていた場合、担当者と同じ内容を応対者セルへ入力したいんですが、
条件分岐での条件欄記載方法をお伺いで歴場と思います。
度々で大変申し訳ございません。

代入の中身は下記のとおりです。
CurrentRow(“応対者”) = CurrentRow(“担当者”).ToString()

このトピックのタイトルと内容が離れてきていますので、別のトピックといただいた方が良いかと思います。

条件式は例えば

not String.IsNullOrEmpty(CurrentRow("応対者").ToString())

のようになるかと思います。

ご回答ありがとうございます。
目的のデータを抽出することができました。
また、次回より内容ごとにトピック作成させて頂きご質問させて頂きます。

お忙しい中お付き合いいただきありがとうございました。
また手詰まりになった場合、お時間ありましたらご教授いただけますと幸いです。

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