並びの違う数字の一致数を表示する方法とは?

このQ&Aのポイント
  • 並びの違う数字の一致数を関数で表示する方法についての質問です。
  • 並びの違う数字の一致数を表示するために、調査を行いましたが、結果が出ない状況で苦労しています。
  • A列とB列の数字のリストに対して、順不同での一致数を求める方法について教えてください。
回答を見る
  • ベストアンサー

並びの違う数字の一致数を表示するには

並びの違う数字の一致数を関数で表示できないか色々とやっているのですが、表示する迄結果が出ずに苦労しています。 並びが一緒なら、MATCH関数で出来るのですが、並びの違う数字の場合は、色々と調べているんですが、結果が出ない状態で苦労しています。 結果を出したいのは、以下の通りです。 A    B    C 12345 65984  3 32654 12654  4 36985 14789  2 36587 15986  3 45163 10234  4 A列全体の数字のリストに対して、B1 B2 B3 B4 B5と言った具合に、B列の1つのセルに入っている数字の並びは関係無く、同じ数字が幾つ存在しているかC列に比較した結果を出したいと思っています。 並びが順不同での比較は可能でしょうか? ご教授お願いします。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

maron--5さんの回答を参考にして =-MIN(MMULT(-ISNUMBER((FIND({0,1,2,3,4,5,6,7,8,9},$A$2:$A$6) *FIND({0,1,2,3,4,5,6,7,8,9},B1))),{1;1;1;1;1;1;1;1;1;1}))

1968masaru
質問者

お礼

ご回答、有難う御座います。 無地解決出来ました。 有難う御座いました。

その他の回答 (3)

回答No.3

解答例と一致しないので考え方が違っているのかもしれませんし、 5桁限定、1セル内に数字のダブりがない という条件のもと D1セルは 0 右へ連番 ~9 D2セル =IF($A2="",0,IF(FIND(D$1,$A2&D$1)>5,0,1)) 右へ 下へオートフィル(仮に10行目まで) C2セルに =IF(B2="","",MAX( CHOOSE(1+MID($B2,1,1),$D$2:$D$10,$E$2:$E$10,$F$2:$F$10,$G$2:$G$10,$H$2:$H$10,$I$2:$I$10,$J$2:$J$10,$K$2:$K$10,$L$2:$L$10,$M$2:$M$10) +CHOOSE(1+MID($B2,2,1),$D$2:$D$10,$E$2:$E$10,$F$2:$F$10,$G$2:$G$10,$H$2:$H$10,$I$2:$I$10,$J$2:$J$10,$K$2:$K$10,$L$2:$L$10,$M$2:$M$10) +CHOOSE(1+MID($B2,3,1),$D$2:$D$10,$E$2:$E$10,$F$2:$F$10,$G$2:$G$10,$H$2:$H$10,$I$2:$I$10,$J$2:$J$10,$K$2:$K$10,$L$2:$L$10,$M$2:$M$10) +CHOOSE(1+MID($B2,4,1),$D$2:$D$10,$E$2:$E$10,$F$2:$F$10,$G$2:$G$10,$H$2:$H$10,$I$2:$I$10,$J$2:$J$10,$K$2:$K$10,$L$2:$L$10,$M$2:$M$10) +CHOOSE(1+MID($B2,5,1),$D$2:$D$10,$E$2:$E$10,$F$2:$F$10,$G$2:$G$10,$H$2:$H$10,$I$2:$I$10,$J$2:$J$10,$K$2:$K$10,$L$2:$L$10,$M$2:$M$10))) [Ctrl]+[Shft] +[Enter] で確定、配列数式。{ }で挟まれる 下へオートフィル

1968masaru
質問者

お礼

ご回答、有難う御座います。 かなり複雑な式ですが、無地解決出来ました。 有難う御座いました。

noname#204879
noname#204879
回答No.2

[No.1補足]へのコメント、 》 上記の場合、A5とB1を比較した場合、4つあるのでC1に4 なるほど。 では、質問文の C1 が 4 でなく 3 となる理由は? 単に「間違えた」なんてことがないことを祈ります。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆どちらの式がご希望かお試しください 【式-1】C1=COUNT(INDEX(FIND(MID(B1,ROW($1:$5),1),A1),)) 【式-2】C1=COUNT(INDEX(FIND(ROW($1:$10)-1,A1)*FIND(ROW($1:$10)-1,B1),)) ◆一見同じ結果になるようですが、Bのセル内に同じ数字がある、A「12345」B「45454」のようなときは、計算結果は違います

1968masaru
質問者

補足

早速のご回答、ありがとうございます。 式2の方が、計算結果として表示されます。 A1とB1、A2にB2と言った具合に、左右比較では結果が表示します。 希望としましては、A1 A2 A3 A4 A5各々とB1、A1 A2 A3 A4 A5各々とB2を比較して、A列の各々の行の数値と比較して、B1の比較数値をC1に一致数の数を表示出来たらと思っています。 A    B    C 12345  98760  4 12340 12346 12348 16789 A1~A5各々とB1と比較して、一致数が沢山有った部分を抽出して、表示出来ればと思っています。 上記の場合、A5とB1を比較した場合、4つあるのでC1に4と言う数字が表示出来る流れです。 試しに、数式の比較範囲をA1とB1から、A1:A5とB1を比較したら、計算結果が得られませんでした。 変更した数式は、以下の通りです。 =COUNT(INDEX(FIND(ROW($1:$10)-1,A1:A5)*FIND(ROW($1:$10)-1,B1),)) 他に対応策は、ありますでしょうか? 宜しくお願いします。

関連するQ&A

  • Excelで一致しない数字を返し、一箇所にまとめるには?

    以前も似たような質問したのですが、よくわからなくなってしまったのでまたお願いします。 A列 B列 C列 1052 1052 1033 1230 1033 1044 1335 1044 1560 1335 1650 1650 このように、「A列とB列を比較して、A列にない数字を、C列に上から順に揃えて抽出する」にはどのようにすればよいのでしょうか? 文字列は300行位になります。 バージョンは2002です。 VBはよくわからないので、簡単にできる方法があれば幸いです。

  • A列とB列の数字が一致しているか調べたい

    エクセルで、A列・B列の数字が一致しているか調べる方法(関数?)を教えてください。 もし一致していなければ(A列にあってB列にない、もしくはその逆)、 何らかの手段で一致していない数字をわかるようにしたいのですが 可能でしょうか? A列 B列 ------------------ 1   6 2   5 3   4 4   7 5   9 6   6

  • エクセルで一致した数字を抽出する

    こんばんは。 excel 2007を使っていますが、 A列の1~100に数字がランダムに入っています。 B列の1~100にも数字がランダムに入っているとします。 Aの1~100の数字とBの1~100の数字の中で 一致している数字をC列に書き出される方法は ありますでしょうか? よろしくお願いいたします。

  • エクセル 複数の条件での比較 一致 。困ってます。

    こんにちは。 エクセルでデータの比較、照合の方法で困っています。 A~Cのデータにあわせて  D~Fのデータを照合したいのですが A列の番号とD列の番号が順不同になっており上手く照合ができません。 下記のようなデータが100件以上ありA,B,Cの三つの条件が全て一致するD,E,FのデータにあればOK,ひとつでも違っていればNGと表記させたいのですが、なかなかいい関数が思いつきません。 出来ればVBAではなく関数で表記をさせたいのですが、宜しくお願いいたします。 A  B     C       D E     F 1 りんご  青森 1 りんご  長野 3 みかん 和歌山    2   スイカ  千葉

  • エクセル:数字の部分一致と完全一致

    B1のセルにA1のセルの文字が含まれるか判定をするため、以下の関数を使用しました。 =IF(COUNTIF(B1,"*"&A1&"*"),0,1) 例えば、A1=400のとき、 B1=q400 B1=400 1 などの場合は、0(=含まれる)という判定がでるのですが B1=400 B1=14000 などの時は、1(=含まれない)となります。 完全一致である400、および14000も「400」という文字列が含まれるので同じ結果を返したいのですができません。 原因はA1が文字ではなく数字だからということはわかるのですが。 ちなみにA1には文字も入力される場合があるので、どの場合でも含むかの判定を出したいです。 アドバイスお願いします。

  • 数字のカウント

      A   B   C 1  1  54   7 2  0  30   7 3  1  23   7 4  2   1   7 例えばこのような表で、B列の数字はひと月たったらプラス1されようにしてA列には、B列の数字が60になったらプラス1されるようにしたいのです。又、B列の数字は60になったら1からカウントされるようにしたいのですが、教えてください。お願いします。 (A列、B列は任意の数字でC列は日付関数で月だけを表示。)

  • Excel :条件が一致した時にその数字を表示する関数

    以下の内容をExcelの関数で表す場合にどのような関数が有効でしょうか?どなたかお知恵を拝借願えると幸いです。 「A1,A2,A3にランダムに数字が入っています。仮に、3つにセル中、2つ以上の数字が一致した時には、A4セルに一致した数値を表示させ、3つのセルの数字がどれも一致しない場合は、ゼロと表示させます」 以下のようなIF関数を考えてみたいのですが、「真の場合」に一致した数字を表示させる方法が分からず悩んでいます。 IF(OR(A1=A2,A1=A3,A2=A3),一致した数字,"0") 勿論、このIF関数に拘っていないので、上述「」内の内容が関数で表現できればよいと考えております。

  • ある条件に一致するシートの検索と抽出

    初めて質問します。 あるアンケートを実施し、1人1つのシートを複数枚、一つのブックに まとめたとします。 「シート1」   A   B    C   D・・・ 1 ID   氏名 2 003 Cさん 3 Q1  (1) 4 Q2  (2) 「シート2」   A   B    C   D・・・ 1 ID   氏名 2 001 Aさん 3 Q1  (2) 4 Q2  (3) この時、シートの並びはIDや名前の順にはなっておらず、順不同です。 ですので、どのシートが誰なのかがシート名ではわからない状態です。 このような状態で、例えば 下記「集計シート」のA2と一致するIDがあるシートから上記B3の結果を抽出し、 下記C2に返す、というのを関数でつくることはできるでしょうか。   A   B    C   D・・・ 1 ID   氏名  Q1  Q2・・・ 2 001 Aさん        ・・・ 3 002 Bさん        ・・・ 誰がどのシートなのかわからないため、IDを頼りに該当者を発見し、その人の 回答を集計シートにまとめる、ということになります。 どなたかご教示いただけますと幸いです。

  • 列ごとの数値の一致と不一致を調べるVBAについて

    画像のように各列ごとにランダムな数値が入力されています。この時に各列ごとに同じ数値が入っているかいないかを調べたいのですが、どのようにプログラムを作ればいいかわからなく質問しました。 画像の内容としては、列Aのセル中の数値と列Bのセル中の数値は一致しないのでB15セルに"1" 列Aのセル中の数値と列Cのセル中の数値は『66』が一致するのでC15セルには何も入力せず というように D15セルは列Aと列Dの一致、不一致の結果 C16セルは列Bと列Cの一致、不一致の結果 D16セルは列Bと列Dの一致、不一致の結果 D17セルは列Cと列Dの一致、不一致の結果 を入力できるプログラムがあれば教えていただければ幸いです。よろしくお願いします。

  • 関数MATCHを利用して、該当がある場合のみ数字を出したい

    お世話になります。 シートの中に重複データそれがどのデータと一致しているかセル番号を出す関数をつくりたいと調べています。 http://oshiete1.goo.ne.jp/qa2495843.html こちらで紹介のあったようにMATCHを使って、 たとえばA列に名前が入っていた場合、となりのB列に =MATCH(B2,B:B,0) といれてみました。 すると一致している場合は、その一致しているセルの行番号が出るのですが、一致するものがない場合は、そのB列の行番号が出ます。 これを、一致するものがある場合のみ、数字を表示する、としたいのですが、どのようにすればよいでしょうか。 イメージとしては もし B2と(MATCH(B2,B:B,0)の結果)が一緒なら空白にする もし B2と(MATCH(B2,B:B,0)の結果)が違ったら(MATCH(B2,B:B,0)の結果)を表示する といった感じです。 空白は、0と入力されてもいいです。 アドバイス、ご指導お願いいたします。

専門家に質問してみよう