2枚目のCSVだけ、「氏名」と「社員ID」の場所が逆でした。
そのまま下へ貼り付けると、IDの列に人の名前が来ます。
行数は合っているので、一見すると気づきにくい。
今回用意した架空データで試していて、こういう小さなずれがいちばん困るなと思いました。
そこで、同じ列名の集合を持つUTF-8・カンマ区切りCSVを、ちょうど3枚、列名で対応させて縦に結合するローカルHTMLツールを作りました。
これはIDを照合して情報を横に足す道具ではありません。重複行を消す道具でもありません。①の行の後ろに②、さらに③の行をつなげる「縦結合」です。
架空サンプルでは、①と③が「社員ID、氏名、部署、メール、メモ」の順で、②だけ「氏名、社員ID、部署、メール、メモ」の順です。
それでも列の位置ではなく1行目の列名で対応するため、出力例では社員IDが003、氏名が高橋 美咲になります。
ファイルの順は①→②→③、各ファイル内の行順も変えません。

社員ID,氏名,部署,メール
001,佐藤 花子,営業,sato@example.invalid
002,鈴木 太郎,企画,suzuki@example.invalid
003,高橋 美咲,営業,takahashi@example.invalid
004,田中 一郎,総務,tanaka@example.invalid
005,伊藤 葵,企画,ito@example.invalid
006,渡辺 健,開発,watanabe@example.invalidこの結果は、「メモ」を出力から外し、氏名と部署だけの前後空白を削除したものです。姓と名の間にある空白は残します。見た目を整えるつもりで、名前の途中まで勝手に詰めない仕様です。

使える入力は、UTF-8・カンマ区切り・1行目が列名のCSV3枚です。3枚の列名集合は完全に一致し、重複列名はないことが必要です。列順だけが違うのは大丈夫ですが、「氏名」と「名前」のような別名は同じ列と推測しません。

Shift_JIS、UTF-16、xlsx、タブ区切りは対象外です。
列名の大小文字や前後空白の自動補正、曖昧一致、欠損・余分列の補完、重複行削除、IDによる横結合、数式の無害化も行いません。
上限は1枚2MiB、各100列、3枚合計50,000データ行かつ200,000セルです。
大きな台帳を何でも受け止める道具ではなく、毎月3枚ほどの定型CSVを慎重につなぐための小道具です。
処理はブラウザーで開いたローカルHTMLの中で完結し、入力ファイルを書き換えません。
外部通信、外部ライブラリ、ブラウザーの永続保存も使いません。
有料部分では、500円のZIPに入る実物のtool.htmlを、架空サンプルから自分のCSVへ差し替えて使う流れを説明します。列選択、並べ替え、指定列だけのtrim、BOMの選択、CSV特有のカンマ・改行・引用符、Excelで001を開くときの注意まで、完成結果と照合できる形にしました。
