[Excel]
2つの表のセル同士の突合方法について質問です。
添付の表で、
{=AND(EXACT(C4:F4,INDIRECT("I"&MATCH(C4,$I$1:$I$6,0)&":L"&MATCH(C4,$I$1:$I$6,0))))}
上記の関数を実行した場合、「行単位」で完全一致しているかどうかで結果を返してくれると思いますが、
「セル単位」ですべてのセルに結果を求めたい時はどのような関数にすれば良いでしょうか。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
その数式が何をやっているのか分かっているのであれば、
自力で工夫できるので質問することもないでしょうから、
分からないという事ですね。
この数式。本来何をやりたいかというと
=AND( EXACT(C3,I3) , EXACT(D3,J3) , EXACT(E3,K3) , EXACT(F3,L3) )
という比較ですね。
(配列数式はC3:F3の範囲を C3、D3、E3、F3 と分解するために指定しています)
しかし EXACT の2つ目の範囲が不確定なので数式で与える必要がある。
それが MATCH関数です。
=MATCH(C3,I1:I6,0)
でC3セルと同じ値をI列から検索し、一致した値がどの行にあるのかを取得し、それを参照する行番号としています。
取得した数値を使った文字列を INDIRECT関数で範囲に置き換えですね。
見た目は分かりやすいけど、ぶっちゃけスゲー面倒。
OFFSET関数で指定すれば、同じパラメータを繰り返さず同じことができます。
{=AND(EXACT(C3:F3,OFFSET($I$1,MATCH(C3,$I$1:$I$6,0)-1,0,1,4)))}
とかね。
※ OFFSET関数の使い方は自身で調べてください。
・・・
と、いうことで、AND関数を使わない形にすればセルひとつずつの比較になります。
ただし今度はセルの数だけ数式を作る必要があります。
とりあえず、元の数式を修正するのであれば……
C列の比較は
=EXACT(C3,INDIRECT("I"&MATCH($C3,$I$1:$I$6,0)))
D列の比較は
=EXACT(D3,INDIRECT("J"&MATCH($C3,$I$1:$I$6,0)))
E列の比較は
=EXACT(E3,INDIRECT("K"&MATCH($C3,$I$1:$I$6,0)))
こんな風になります。
なお、OFFSET関数を使った場合は、
これが
{=AND(EXACT(C3:F3,OFFSET($I$1,MATCH(C3,$I$1:$I$6,0)-1,0,1,4)))}
こうなる
=EXACT(C3,OFFSET($I$1,MATCH($C3,$I$1:$I$6,0)-1,COLUMN(A1)-1,1,1))
で、C3セルに対応するセルに入力後に、
下2つへフィルコピー、さらに横3つへフィルコピー
するだけで良い。
配列数式にする必要はありません。
ポイントはCOLUMN関数で横方向に指定するセルをずらしているところ。
・・・余談・・・
たぶん、条件付き書式の条件として使いたいのだろうと推測して、エラー対策はしていません。
エラーは条件成立とみなされないだけなんで処理する必要なかったりします。
質問の例であれば、
C3セルからF5セルを選択し、
C3セルに入力できる状態で、
OFFSET関数を使った数式を条件として入力、
確定後、セルの修飾方法を選択する。
で、等しい時にセルを修飾することで同じであることを判別できます。
違うところだけ色を付けたい場合は、数式をNOT関数に入れて「等しくない」を条件にしてください。
=NOT(EXACT(C3,OFFSET($I$1,MATCH($C3,$I$1:$I$6,0)-1,COLUMN(A1)-1,1,1)))
・・・独白・・・
ああ、暇なんで
「代わりに数式を作れ。オレ様の成果として使ってやるwww」
って質問に数式まで作って説明しちゃったよ。
本来は「何が分からないのかを示してください」と問いただすところなんですけどね。
「作業依頼」はルール違反なんだよ。
前の質問で指摘されなかったのが悪かったのかな。
図に乗って同じように作業依頼を出しちゃってるんだ。
見捨てられたら、何もできない子になっちゃうから注意しましょう。
No.3
- 回答日時:
こんにちは
ご質問の文章から、一方向の照合で良いものと解釈していますが、前回は右の表から左の表を参照するのに対して、今回は左の表から右の表を参照するように変わっているようですね。
>すべてのセルに結果を求めたい時は~~
個々のセルの「一致/不一致」を表示したいのだと思いますが、どのような結果にしたいのかが記述されていません。
勝手に解釈して、結果は1セルに表示するものと考えました。
項目(4項目)に対して、それぞれが合致していれば「〇」不一致なら「×」として、「○○○○」のように表示するものとしてみました。
ご提示のレイアウト(行番号が不明ですが・・)で、A3セル(=りんごのある行)に
=IF(C3="","",IFERROR(TEXTJOIN("",0,"〇",INDEX(MID("×〇",(D3:F3=OFFSET(J$1:L$1,MATCH(D3,J:J,0)-1,0))+1,1),)),"××××"))
の式を入力して、下方にフィルコピーではいかがでしょうか。
ご例示の場合であれば、結果は上から順に、
○○○○
○○○○
○○××
となります。
「○○××」の意味は、第3、4項目(=単価、合計)が不一致という意味です。
最初の項目が「×」の場合は、右側の表に該当する商品がないことを意味します。
※ スピル機能が使える環境であれば、式はもう少し簡単にできることでしょう。
No.2
- 回答日時:
どこかで見たようなご質問だなと思ったら、同じ方のご質問でした。
https://oshiete.goo.ne.jp/qa/13586196.html
>2つの表のセル同士の突合方法
というご希望ですで、私の考えるところ、どちらかが正しくて、どちらかが誤りという話ではなく、単に違いを明らかにするということだと理解しました。
ということは、「①左表から右表を見る」と「➁右表から左表を見る」という2つの視点が必要だと思います。
①の左表の項目の対応位置の照合結果を左表の下に表示する
➁の右表の項目の対応位置の照合結果を右表の下に表示する
という2点を実現させるため、バージョン365の環境ですが、画像ではC8セルに
=IF(C3="","",IFERROR(IF(EXACT(C3:F3,INDEX($I$3:$L$6,MATCH(C3,$I$3:$I$6,0),0)),"OK","相違あり"),"項目なし"))・・・(a)
という数式を記述して、下方向へコピーしています。
さらに、画像ではI8セルに、
=IF(I3="","",IFERROR(IF(EXACT(I3:L3,INDEX($C$3:$F$5,
MATCH(I3,$C$3:$C$5,0),0)),"OK","相違あり"),"該当なし"))・・・(b)
という数式を記述して、下方向へコピーしています。
なお、スピル機能の使えないバージョンでは、数式(a)(b)とも「配列数式」とする必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) excel関数について お世話になります。上のセルに関数を入れセル右下をダブルクリックすると、関数は 4 2021/11/17 12:11
- Excel(エクセル) excel VBA コピーした行を、指定列から行ペーストしたい 3 2021/10/22 13:16
- 会計ソフト・業務用ソフト エクセルの数式で教えてください。 1 2021/12/15 10:55
- Excel(エクセル) VBA セルコピーについて教えてください 1 2021/10/22 14:23
- Excel(エクセル) [Excel] 以下のような、行がズレている2つの表を関数を使って同値チェックを行いたいです。 欲し 3 2023/09/06 20:28
- 会計ソフト・業務用ソフト エクセルの数式で教えてください。 5 2021/12/15 08:43
- Excel(エクセル) エクセルの数式で教えてください。 3 2021/11/24 16:48
- Excel(エクセル) Excelの書式 2 2021/11/29 07:35
- その他(Microsoft Office) エクセルの数式で教えてください。 3 2021/12/21 09:20
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件付き書式に設定する関数を...
-
ieを使わずにサーバーとのやり...
-
Excelの警告について
-
エクセルVBA 同じ品名を色分けする
-
Excelの数式について教えてくだ...
-
【マクロ】文字列の一部を削除...
-
エクセルでVLOOKUPの入ったセル...
-
エクセルのデータ整理の方法
-
パソコン教室ってExcelとかどこ...
-
excelVBAについて。
-
excelVBAについて。
-
各種ファイルの比較をしたい
-
excelvbaでcsvファイルをセルに...
-
エクセル この場合、値の抽出で...
-
excelVBAについて。
-
セル内が空白設定なのに#N/Aと...
-
IEを使わずHTMLを取得する
-
エクセルのデータについて
-
excelVBAについて。
-
エクセルの不調について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルの数式バーのフォント...
-
【Excel】日付に連動してプルダ...
-
【再投稿】レイアウトが異なる...
-
Excelについて教えてください ...
-
同率順位の発生しないランキン...
-
エクセルマクロについて教えて...
-
【Excel VBA】 テキストファイ...
-
Excel 標準フォントについて教...
-
Excelの計算で差分を求める場合...
-
Excelの区切り文字について質問...
-
大容量があつかえるソフトを探...
-
エクセルの計算式について(COU...
-
エクセルについて
-
今までは、 「CSVの出力先を選...
-
Excel ショートカットで列、行...
-
8:40までの出勤は全て8:30に...
-
if関数。半角文字や全角文字で...
-
エクセルの関数
-
毎週追加して行くセルの数値を...
おすすめ情報