• ベストアンサー

リストに一致した列に同じ値か1を返す方法

散々調べましたが、一向に解決しないため教えて下さい。 セルAA1~AZ1に『あ』から順に『は』まで入っているとします。 たとえば、   A  B  C  D  E  F  G・・・ 1 2 い  さ  た 3 く  す  て  に  は 4 た  ぬ 5 あ  え  か  け  さ  せ  と 6 こ このような状態になっているとき、 2行目の『い、さ、た』を、リストAA1~AZ1と一致する同じ行内(この場合、AB2、AK2、AP2)に それぞれ『い』『さ』『た』か、若しくは1を返したいと思っています。 量が少ないのなら手作業でやってもいいかな・・・と考えたのですが、 1000件ぐらいあるため、何かいい方法はないものかと思っています。 関数で『=if(A2="あ",1,if(B2="あ",1,if(C2="あ",1,if(D2="あ",1,if(…省略…)』 というのをAA2に入れるというのを作ったのですが、 例のように数多くあると式が長くなりすぎるのかエラーになってしまいます。 マクロか関数などで何とか処理できないものでしょうか。 すみませんが、よろしくお願いします。

  • JFBJ
  • お礼率92% (12/13)

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

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

AA2は、「A2からZ2の中にAA1と同じものがあったら1」です。とい うことは、countif関数で =if(countif($A2:$Z2,AA$1),1,"") でいいんですよ。countif関数はcountif(範囲,条件)で範囲内の条 件に一致するものの数を数えます。これをif関数の条件のところに 書くと、0が偽で0以外が真という扱いなので、一致するものがあっ た場合は真になり、1を返します。

JFBJ
質問者

お礼

なるほど!! countifを使うとは、盲点でした。 この数式なら簡単で済みますね。ありがとうございます!!

その他の回答 (1)

回答No.2

もう一案 =ISNUMBER(MATCH(AA$1,$A2:$Z2,0))*1 解説するなら A列からZ列までを左から検索して見つかった番号(数値)を返す 数値なら True *1で数値化

JFBJ
質問者

お礼

isnumberは、調べたもののピンとこなかったのですが、 こういった使い方ができるんですね! ありがとうございました!

関連するQ&A

  • IF関数「リストの中の値に一致しなければ」

    「A1」の値が「B1:B10」の中の値の どれとも一致しなければ・・・というIF関数は どのように作れば良いでしょうか。 IF(A1<>B1:B10,×,●) かと思ったら違うようなんですが・・・よろしくお願いします!

  • Excel2010VBA:Find、日付形式の一致

    Excel2010VBAでワークシートのE列 (関数:=IF(AND(A2<>"",B2<>"",C2<>"",D2<>""),DATE(A2,B2,C2)+D2,"")) とマクロの変数「日時1(a)」が一致すると処理を行うプログラムを作りました。(この場合一致するのは「2011/1/2 23:01」です。) E列とマクロの変数「日時1(a)」は両方とも日付形式で、「2011/1/2 23:01」で一致するはずなのですが変数「範囲」が「Nothing」で一致しません。 ■ワークシート ------------------------------------------------------------------------- A    B C D    E 2011  1 2 23:01  =IF(AND(A2<>"",B2<>"",C2<>"",D2<>""),DATE(A2,B2,C2)+D2,"") ------------------------------------------------------------------------- ■コード ------------------------------------------------------------------------- Dim 日時1(1 To 999999) As Date, 範囲 As Range With Workbooks("ブック.xlsm").Worksheets("シート") Do Set 範囲 = .Range(Cells(2, 5), Cells(527041, 5)).Find(What:=日時1(a)) If Not 範囲 Is Nothing Then ~ End If ~ ------------------------------------------------------------------------- これを一致させるためにはどうしたらいいのでしょうか? 回答よろしくお願いします。

  • マクロで値がある列までコピー

    マクロの初心者です。    A列    B列    C列 1 使用年  使用月  使用期限 2 2010    5   2010-05 3 空欄    空欄   空欄 4 0      0    - . . . マクロでC2には下の関数が自動で入力されるようにしてるのですが、A列に値がある行にだけ、C2の関数をコピーできるようにしたいのです。 宜しくお願い致します。 C列の関数:=IF(ISBLANK(A2),"",IF(ISERR(DATE(A2,B2,1)),"-",TEXT(DATE(A2,B2,1),"yyyy-mm")))

  • 列に入っている値が一致しているのか評価したい

    画像をもとにして説明をさせていただきます。 B列にあるデータが入っております。 C列とD列にはB列を分割したデータが入っています。 B列のデータ=C列+D列のデータがイコールの時はA列に何も表示しなくていいのですが、違っているときに表示する関数はMATCH関数でよいのでしょうか? (画像のA列は関数をドラッキングしていない状態です) また、画像のように1行ずれていた場合、対象データ囲った範囲ごとをずらすような作業をしますが、A1に入っている関数だと値ごとずれてしまい役に立ちません。 どのようにしたら評価できますでしょうか?

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

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

  • Excel If関数について

    こんばんわ。 IF関数の使い方がわからずに困っています。 a b c d e f g 2 1 1 2 2 1 ?? abと一致している数字をgの欄に1か0の数字を入れたいんです。 もしabの数字と一致している場合は0 違っている場合は1 abと比較するのはcd,efの数字と比較をしたいんです。 aとc bとdみたいに1つずつ比較するIf文はできるのですが ab,cd ab,efと比較するIF文が作成できなく・・・。 説明が下手ですいませんが、どうぞ宜しくお願いいたします。

  • EXCELで指定した範囲の値を検索し、範囲内に対応する行の見出しを調べるには

    EXCEL2003で、シート内に以下のように値が設定されている場合に、 B1からD4の範囲を検索して値が一致した行のA列の値を求めるには どのようにすればよろしいでしょうか。 たとえば、文字列「EE」で検索して「いいい」を求めたいのです。 A B C D 1 あああ AA CC FF 2 いいい BB EE 3 ううう DD 4 えええ GG HH VLOOKUP関数を使用すれば列内や行内での検索は出来ますが、 複数行列内の検索は出来ないようです。 よろしくお願いします。

  • 条件成立時に列Cの値を列Aにコピーしたい

    同一行の列Bの値が、ある値(後述例の場合、"○")と完全一致のとき、 列Cの値を列Aにコピーさせたいのですが、マクロでどのようにループを 組むか教えてください。 Excelのバージョンは2007です。 マクロ実行前 <列A>   <列B>   <列C> 項目A    項目B    項目C ああああ          AA いい     ○      BB ううう           CC ええええ   ○      DD お             EE マクロ実行後 <列A>   <列B>   <列C> 項目A    項目B    項目C ああああ          AA BB     ○      BB ううう           CC DD     ○      DD お             EE

  • 列と行で一致したセルに

    HY-123 1/3 15個 AB-456 1/1 50個  といようなデータを入力したら 自動で下の表(A列の製造番号、1行目の日にちは固定の表)に 個数が入るにはどうすればいいですか? 番号と日付が一致すれば、その交差セルに個数が出るようにしたいのです。 宜しくお願いいたします。 1月  A     B    C    D 1          1    2    3 2  HY-123            15 3  AB-456   50

  • 逆関数の存在条件と関数の一致

    黄チャートIIIの19番の問題です。 【問】 a,b,c,dは定数でa≠0またはb≠0とする。 f(x)=cx+d/ax+bが逆関数をもち、それがもとの関数と一致する為の条件を求めよ。 【解】 (1)a≠0のとき   『省略』 (2)a=0のとき b≠0であるから、y=cx+d/b・・・(5) (5)が逆関数をもつための条件はc≠0で、このとき ad-bc=-bc≠0が成り立つ。    『以下省略』 (1),(2)から求める条件は ad-bc≠0,b+c=0またはa=d=0,b=c≠0 とあるのですが、「このときad-bc=-bc≠0が成り立つ。」という記述は(1)の逆関数が成り立つときの条件からきてるとおもうのですが、これって記述しないとだめなのでしょうか? その記述の次は省略しましたが、-bc≠0を使用する所はありませんでしたし、この条件は(2)では必要ないような気がするのですが。。 もし必要などうしてなのでしょうか?

専門家に質問してみよう