[[20181017094310]] 『2ファイルの比較』(もも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『2ファイルの比較』(もも)

1つのファイルに複数のシートがあり、その各シートに1つテーブルがあります。
まったく同じ形式(複数シートにテーブルがある。各テーブルの列項目も同じ)のファイルがもう1つあり、テーブルの中身を比較したいのです。
具体的には、テーブル内の行が追加・削除されていたり、既存の行の値が変わっていたりするので、その場合は「ここです」と該当箇所がわかるようにしたいです。
単純に2つのテーブルを並べて差分をとるだけだと、1行途中に追加されると以降の行がすべて「差異あり」となってしまうので、それではだめなのです。

なにか良い関数はないでしょうか。マクロ組むしかないでしょうか。

< 使用 Excel:Excel2016mac、使用 OS:Windows7 >


まず関数では不可能
テーブル自体の変更前変更後を見ていないので何とも言えないが、マクロでも難しいだろう
(名無し) 2018/10/17(水) 10:10

 1.一番大きなテーブルは、(おおよそ)何行x何列ですか? 

 2.「テーブル」とは単なるデータベース状になっている、という意味ですか?
    それとも正式に定義したテーブルの事ですか?

(半平太) 2018/10/17(水) 15:04


 2つのファイルの
 1) シート名の関連性
 2) 比較対象行を決定する項目
 等は?
(seiya) 2018/10/17(水) 17:21

あくまで思い付きレベルですけど、
半平太さんが確認されていることと被りますが、テーブルといいつつ、ただのレコードの列挙で

 ___A____B______C___
 1 10/1 朝食 ごはん
 2 10/1 昼食 パン
 3 10/1 夕食 うどん
 4 10/2 朝食 シリアル
 5 10/2 夕食 パスタ
 6 10/3 朝食 そば
 7 10/3 昼食 パン

     ↑比較↓

 ___A____B______C___
 1 10/1 朝食 ごはん
 2 10/1 昼食 パン
 3 10/1 夕食 うどん
 4 10/2 朝食 シリアル
 5 10/2 夕食 パスタ
 6 10/3 夜食 うどん 
 7 10/3 朝食 そば
 8 10/3 昼食 パン

のように、いくつかの列を組み合わせるとユニーク性があるということであれば、SUMPRODUCT関数、ROW関数、を組み合わせればどの行と比較すればよいかを求めることができますから、
INDEX関数やVLOOKUP関数なんかで対象行のセルの値を参照し、比較するようにしてやれば数式でもいけそうな気がします。

そして、数式でなんとかできるのであれば、条件付き書式で塗りつぶし等をしてやれば、該当箇所がわかるのではないでしょうか

(もこな2) 2018/10/17(水) 21:20


  もこな2さん ほど楽観はしていないんですが、

  以下のような前回・今回ファイルが与えられた場合、
  どんな結果になればいいのか示して貰いたいと思っています。

  <前回>        <今回>
   行  _A_  _B_  _C_     行  _A_  _B_  _C_  
    1  IT1  IT2  IT3      1  IT1  IT2  IT3  
    2  あ   A    ア       2  あ   A    ア   
    3  い   B    イ       3  く   H    ク   
    4  う   C    ウ       4  た   B    イ   
    5  え   D    エ       5  か   E    カ   
    6  お   E    オ       6  お   F    オ   
    7  か   F    カ       7  う   C    ウ   
    8  き   G    キ 

  <どのファイルにどんな形の結果が出ればいいのか?>
   行  _A_  _B_  _C_
    1  IT1  IT2  IT3
    2  ?   ?   ? 
    3  ?   ?   ? 
    4  ?   ?   ? 
    5  ?   ?   ? 
    6  ?   ?   ? 
    7  ?   ?   ? 
    8  ?   ?   ? 

  <実際の異動 ただし我々は知らない事である>
   行  _A_  _B_  _C_ 
    1  IT1  IT2  IT3             
    2  あ   A    ア   不変           
    3  い   B    イ   い→た         
    4  う   C    ウ   最後尾に移動   
    5  え   D    エ   行削除         
    6  お   E    オ   お→か、オ→カ 
    7  か   F    カ   か→お、カ→オ 
    8  き   G    キ   行削除         
  (9  く   H    ク   最初は無く、後で2行目と3行目の間に追加)

(半平太) 2018/10/17(水) 22:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.