marita
(Marita)
May 22, 2025, 11:56pm
1
お世話になっております。
下記のようなExcelAの内容がExcelBに転記できているかの確認を行いたいです。
実際にはExcelAもBも列も行数も沢山あるのですが、必要なのは3つの情報で
IDで紐づけして日付と金額が正しく入力できているかの確認作業をします。
入力内容が正しければ〇、間違っていれば×というのをExcelAの開いている列に表示させるようにしたいのですがどのように実装すればよいでしょうか?
ExcelA ExcelB
ID 日付 金額 ID 日付 金額
11111 2025/5/23 1,000,000 33333 2025/5/23 1,000,000
22222 2025/5/21 2,000,000 44444 2025/5/24 3,000,000
33333 2025/5/23 1,000,000 22222 2025/5/21 5,000,000
44444 2025/5/24 3,000,000 11111 2025/5/23 1,000,000
55555 2025/5/25 1,000,000
↓
ExcelA
ID 日付 金額 日付確認 金額確認
11111 2025/5/23 1,000,000 〇 〇
22222 2025/5/21 2,000,000 〇 ×
33333 2025/5/23 1,000,000 〇 〇
44444 2025/5/24 3,000,000 〇 〇
55555 2025/5/25 1,000,000 × ×
marita
(Marita)
May 23, 2025, 12:17am
2
投稿するとかなり見にくくなってしまいましたのでサンプルのExcelを添付します。
よろしくお願いいたします。
サンプル0523.zip (21.5 KB)
Yoichi
(Yoichi)
May 23, 2025, 12:40am
3
こんにちは
例えば以下のような感じでいかがでしょうか?
サンプル
Sample20250523-1.zip (24.9 KB)
(結果を別ファイルに書き出しています)
sudster
(Sudster)
May 23, 2025, 1:08am
4
Hi @marita ,
Is there a chance for “ID” to repeat in either ExcelA or ExcelB or both?
marita
(Marita)
May 23, 2025, 2:45am
6
ありがとうございます。
実装してみるとエラーが出てしまいました。
データに重複があったので消したのですが、それでもエラーが出ています。
もう重複はないはずなのですが、どういったエラーでしょうか?
エラー 代入: An item with the same key has already been added. Key:
サンプル05231.zip (51.7 KB)
marita
(Marita)
May 23, 2025, 2:46am
7
他の列には同じ番号が出てくる可能性はありますが、IDの列は重複なしです。
Yoichi
(Yoichi)
May 23, 2025, 3:01am
8
こんにちは
空白セルが問題となっていると思います。以下の式の様にしてみてください。
dict = dtB.AsEnumerable.Where(Function(r) not String.IsNullOrWhiteSpace(r("新契約番号").ToString)).ToDictionary(Function(r) r("新契約番号").ToString,Function(r) r)
あと以降の処理は列名の修正が必要と思いますので、適宜修正ください
system
(system)
Closed
May 26, 2025, 4:39am
10
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.