【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

複数のセル範囲(A1:C3)と(A7:C9)が在りまして、
対応するすべてのセルを比較し、
すべて一致の場合だけ『ok』、
一つでも相違が在れば『ng』と表示したいのですが。

excel2003です、宜しくお願いします。

A 回答 (5件)

対応セルごとに比較した結果、異なっている場合は、mike_gさんの回答にあるようにどちらかの範囲(mike_gさんの回答例ではA1:C3の範囲)の該当セルに背景色を付けるというような場合は「条件付き書式」を使用する意味がありますが、そうではなく、ただ単に「すべて一致の場合だけ『ok』、一つでも相違が在れば『ng』と表示したい」だけなら、fujillinさんのご指摘のように、「普通にセルに関数式を設定して、表示内容を変えることをお薦めします」ということになると思います。



そこで、セル範囲(A1:C3)と(A7:C9)の対応するすべてのセルを比較し、すべて一致の場合だけ『OK』、一つでも相違が在れば『NG』とE1セルに表示する場合の数式を考えてみました。
但し、セル範囲(A1:C3)と(A7:C9)には、表示形式による0の非表示などの書式設定はないものとし、計算結果であり、すべて数値であるとのことですので、仮に範囲内に「空白」に見えるセルがあったら、それは計算結果としての「""」であるものとします。この前提で、E1セルに

=IF(PRODUCT(INDEX((A1:C3=A7:C9)*1,0)),"OK","NG")・・・①

を入れれば、すべて一致の場合だけ『OK』、一つでも相違が在れば『NG』と表示されると思います。

①の数式はセル範囲(A1:C3)と(A7:C9)の対応するセルの数値が等しいかをチェックし、対応セルの値が等しければ1、異なっていれば0を返す配列を生成した上で、配列要素を全て掛け算することにより、OKかNGを判定するものです。

つまり、①の数式の「PRODUCT(INDEX((A1:C3=A7:C9)*1,0))」の部分は対応するセルの値の中に一組でも不一致があれば掛け算の結果は0にーなり、全ての対応するセル値が一致するときのみ1となるということです。従って、これをIF文と組み合わせて、OKとNGの表示を切り分ければよいということになります。
    • good
    • 0
この回答へのお礼

ありがとうございました。
出来ました。
こんな命令が在るのですね。
考え方も良く分かりました。

お礼日時:2024/08/14 17:58

サ・ヨ・ナ・ラはしたけれど、…(*^_^*)


まさか添付図のようなチョーカンタンなものじゃないですよね?
「条件付き書式でやりたいのですが」の回答画像4
    • good
    • 0

[No.2お礼]へのコメント、


(A1:C3)と(A7:C9)の範囲群というのは、いわゆる
3x3ブロックのパズル“数独(ナンプレ)”みたいなものですか?
でも「サンプルを貼るのが難しく」が不思議です。(*^_^*)
退散させていただきます。サ・ヨ・ナ・ラ
    • good
    • 0

確認させてください。


一つでも相違が在れば『ng』と、何処に「表示したい」のですか?
言葉による説明でなく、データで埋めた「複数のセル範囲」+「『ng』と表示した」サンプル表を示してみてください、「ホレ、こういう風に」と。
    • good
    • 1
この回答へのお礼

ありがとうございます。
サンプルを貼るのが難しく、
何とか分かると思いますので言葉で表現させてください。

まず、やりたいことは、与えられた結果の検証です。
(A1:C3)の範囲に9個の結果(すべて数値です。)が与えられ、
これを別の基準で(A7:C9)に算出し、
それぞれ対応するセル(たとえばA1とA7,B1とB7、、)を比較し、
全てが同値かを検証します。

結果の表示(ok/ng)は何処でも構いませんが、
少なくとも検証に参加するセル範囲以外となります。
条件付き書式を入れたセルにと考えていました。
これで宜しくお願いします。

お礼日時:2024/08/14 07:02

こんばんは



A1:C3の範囲内および、A7:A9の範囲内にそれぞれ重複がないことを条件にしても良いのなら、
A1:C3の各値が、A7:A9に存在することを確認できれば良いので、
 =SUMPRODUCT(COUNTIF(A7:C9,A1:C3))=9
とすることで、確認できるでしょう。
ただし、SUMPRODUCT関数は2003では使えなかったかも知れませんので、その場合は、COUNTIFを続けた式にすれば可能です。(長くなりますが)

重複する値が存在する可能性がある場合には、上記では判別できないので、例えばA1の値に対して
 COUNTIF($A$1:$C$3,A1)=COUNTIF($A$7:$C$9,A1)
を確認することをA1:C3セル分繰り返せばよいと考えられます。
上記同様に
 =SUMPRODUCT((COUNTIF(A1:C3,A1:C3)=COUNTIF(A7:C9,A1:C3))*1)=9
で判定は可能と思いますが、SUMPRODUCT関数が使えない場合には、同様に書き連ねる方式になるでしょう。

ただし、
>条件付き書式でやりたいのですが
>すべて一致の場合だけ『ok』、
>一つでも相違が在れば『ng』と表示したいのですが。
ユーザー定義書式を利用すればできないことはないと思いますが、面倒なだけと思います。
通常「条件付き書式」で変えられるのは、表示値ではなく「セルの書式」です。
(表示色や背景色、文字の種類、罫線の有無など)
普通にセルに関数式を設定して、表示内容を変えることをお薦めします。
    • good
    • 0
この回答へのお礼

早速ありがとうございました。
SUMPRODUCT,調べてみました。
excel2003で使えるかは分かりませんが、
確かにこれで行けそうですが、重複は存在しうると思います。
この範囲はすべて数値ではありますが、
全て計算結果なので、統一性とか、条件などが付けられませんので。
また、考えていませんが、ひとつづつを続けるのは可能と思いますが、
いま一つかなと。
最後に提案頂いた、
それぞれの対応セルを比較して色を着けるのが結局いいのかなと。
一つでも赤が在ればngが分かりますし。

2番の方にも応えてから方向を決めたいと思います。

お礼日時:2024/08/14 06:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A