• 締切済み

エクセル(マクロ?)の照合についてです。

関数やマクロを全く知らない素人で恐縮ですが、 ご教授くださると幸いです。 アとイ2つのシートがあり、両シートのCDE列には2桁から4桁までの 数値が各々ランダムに300行ほど入ってます。 そこで、アの各行に「イのCDE列と全て同数もしくは プラス、マイナス5以内までの行があるか」を照合したいものの、 他にもシートが多く困っています。 ※このような作業はエクセルだと無理でしょうか? 大変恐れ入りますが、よろしくお願い申し上げます。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>・・行があるか」を照合したいものの、 >他にもシートが多く困っています。 どの様な表示が使いやすいのわかりませんが アのシートのA1セルに 照合する対象のシート名を入れておきます 仮に A1に イ と入れます。 アのシートは   A  B  C  D  E  F  G  H 1 イ F列に =INDIRECT($A$1& "!C" &ROW(A1)) G列に =INDIRECT($A$1& "!D" &ROW(A1)) H列に =INDIRECT($A$1& "!E" &ROW(A1))と入れて下までたっぷりとコピィしておきます。 A1セルに対象のシート名を入れると、そのシートのCDE列が表示されると思います。 後は別の列に関数を入れるとか、条件付書式で色を付けて表示させるとか 方法があると思います。

kenbi73
質問者

補足

あまり質問コーナーを使いきれておらず「補足をつける」が良いのか 「回答・・・」なのか迷いましたが、分かりづらい文章で申し訳ございませんでした。m(_ _)m それなのにご返答くださり、誠にありがとうございます。 回答番号No1様に補足を書きましたので、お時間が許すのであれば 補足等をご記入くださると幸いです。 関数を入力するのも一苦労な為、手引書と格闘しながら今日中に試してみます。(>_<)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

300行程度なら,なんとか関数で出来そうな範囲です。 ご説明が不十分ですが,CはC,DはD,EはE同士で比較すればいいのですね? B1に =IF((COUNT(C1:E1)=3)*SUMPRODUCT((ABS(Sheet2!$C$1:$C$300-C1)<=5)*(ABS(Sheet2!$D$1:$D$300-D1)<=5)*(ABS(Sheet2!$E$1:$E$300-E1)<=5)),"有り","") など。

kenbi73
質問者

補足

早速のご返答ありがとうございます。説明不足で大変申し訳ございませんでした。m(_ _)m >CはC,DはD,EはE同士で比較すればいいのですね? たしかに そうなのですが、「アの1行目:イの1行目」ではなく、 イの全行を対象に照合したいのです。 せっかくご回答くださったのに、分かりにくい文章で 本当に申し訳ございませんでした。m(_ _)m 現在、教えてくださった関数を どう入力するかで奮闘中です。 ※試すことすら下手ですみません。(>_<) 回答番号No1様に返答と詳細を書きましたので、それをご覧になり 万が一補足等あれば再度書き込みくださると幸いです。

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

マクロだと解決できそうな気がしますが、 ご質問の「照合する条件」がはっきりしませんので、回答が付きにくいと思います。 「ア」シートの1行目、C~E列に例えば、「25,100,5200」とあったとして、 「イ」シートの1行目、C~E列の数値と照合するのですか? あるいは、「イ」シートの1~300行めのどれであってもいいので、「25,100,5200」の行があれば、 「3つとも全く同じ組み合わせ」と判定するのですか。 また、「プラス、マイナス5以内」といいますが、数値を一つ一つ比較するのか。 上の例で言えば、「24,101,5203」だったら条件を満たすのか、「5204,20,98」でも満たすのか、いろいろあると思うのです。 もう少し詳しく書かないと分かりにくいです。 また、照合結果をどのようにアウトプットしたいのかも分からないです。 「ア」シートのA列に結果を出す? 「3つとも同じ組み合わせ」 「プラス5以内の数値がひとつでもある。(あとは違う)」 「すべてプラス5以内」 とかいろいろあると思うんですね。 そのあたりを踏まえて書いてみてはどうでしょう。

kenbi73
質問者

お礼

早速のご返答ありがとうございます。説明不足で、大変お恥ずかしい限りです。m(_ _)m >「ア」シートの1行目、C~E列に例えば、「25,100,5200」とあったとして、 「イ」シートの1行目、C~E列の数値と照合するのですか? あるいは、「イ」シートの1~300行めのどれであってもいいので、「25,100,5200」の行があれば、 「3つとも全く同じ組み合わせ」と判定するのですか。 「イ」シートの1~300行めのどれであってもいいです。 全行から探したいと思います。 >上の例で言えば、「24,101,5203」だったら条件を満たすのか、「5204,20,98」でも満たすのか、いろいろあると思うのです。 前者「24,101,5203」であれば満たすと考えています。 >また、照合結果をどのようにアウトプットしたいのかも分からないです。 照合結果は、余白の どこの列や行に反映しても構いません・・・。 >「3つとも同じ組み合わせ」 「プラス5以内の数値がひとつでもある。(あとは違う)」 「すべてプラス5以内」なのか? C~E列に1つでも「プラス・マイナス5以内」があれば適合と思っています。 言葉が足りず本当に申し訳ございませんでした。 何とぞよろしくお願い申し上げます。 m(_ _)m

関連するQ&A

専門家に質問してみよう