• 締切済み

MATCH関数で空セル検索

MATCHを使って空セルの検索は可能でしょうか? MATCH("",配列,0) とした場合、#N/A エラーが返されます。 目的はデータ中の空セルの位置を検知したいので、別の方法でもかまいません。 よろしくお願いいたします。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! >目的はデータ中の空セルの位置を検知したいので とあり、 質問の数式をみると 「配列」と名前定義した範囲の空白セルの行番号(?)を知りたい! と判断しました。 VBAになってしまいますが一例です。 名前定義の「配列」の範囲はSheet1にあり、Sheet2のA列に 空白セルの「セル番地」を表示するようにしてみました。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub セル番地() 'この行から Dim cnt As Long, c As Range Worksheets("Sheet2").Range("A:A").ClearContents For Each c In Range("Sheet1!配列") If c = "" Then cnt = cnt + 1 Worksheets("Sheet2").Cells(cnt, 1) = c.Address(False, False) End If Next c End Sub 'この行まで ※ 外していたらごめんなさいね。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.4

「空セルの位置を検知したい」とのことだけど、それが最終目的ではないと推測します。何をするためにそうしたいのですか? 長年 Excel を使用してきた私自身が「空セルの位置を検知したい」と思ったことがないので、お尋ねしています。

全文を見る
すると、全ての回答が全文表示されます。
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

確認してなくてスミマセン。 空を探すのではなく、 空かどうか判定させた結果を探せば 昇順に必ず並びますし、 問題ないですよ。 =MATCH(TRUE(),INDEX(($A:$A)="",,),0) =MATCH(TRUE(),INDEX({"1","2","5","","3","7"}="",,),0) 如何でしょうか? お役に立てていたならば幸いです。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

=COUNTBLANK(A:A)

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

とりあえずお手軽に =IF(COUNTBLANK(A1:A10),MATCH("",A1:A10&"",0),0) と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力してみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelのmatch関数エラー原因が分かりません

    match関数で「#N/A」と表示される原因が分かりません。 例えば、セルB1に任意の文字列を書込み、セルC1に「=match(B1,A:A,0)」と書き込むと、「#N/A」と表示されます。 ところがA列を選択し、「検索と置換」を使ってB1セルの文字列を「検索する文字列」の欄にコピー/ペーストして検索すると同じ文字列を持つセルが検索できてしまいます。 何が原因でこの様な事が起こるのか教えて頂けないでしょうか。 また、match関数でのエラー回避の方法がありましたら、これも併せてお願いします。

  • excel関数 matchの使い方について

    早速質問します。 行 A B C 1 2 2 2 4 3 5 4 3 5 8 6 2 C1セルにMATCH(B1,A1:A6,0)を式を入れるとA1セルに「2」という値があるので、C1には戻り値として「1」が返ると思うのですが、続けてC2セルに続きの検索を行いたい(A6セルに「2」というデータが入っているのでC2セルには「5(=6-1)」という結果を期待してます)のですが、うまくいく方法が思いつきません。 知恵をお貸しいただけないでしょうか? MATCH(B2,A1:A6,0)と第1セクションに手動で「B2」といわれと、目的の結果が得られますが、汎用性を持たせるため自動で結果が入れれるようにしたいのでお願いします。

  • 【EXCEL】空白でないセルの位置を検索したい

    初めまして。 EXCELの関数を利用して、 下記のようなことをしたいと思案中です。  A B C D E F 1* 1   2   3 2* 1   2 3 3 3* 1   2    4* 1   2 3 3 *が計算式を挿入したい箇所です。 各行の最初のブランク位置を検索したいです。 ブランクの個数は不定ですが、 B~Fのセルに入れるデータは全て数値です。 MATCH関数を使い、MATCH("",B3:F3)のようにしても、 #N/Aとなってしまいます。 何か良い方法はないでしょうか? ご教授頂けますようよろしくお願い致します。

  • MATCH関数について。

    いま、情報処理検定2級の勉強をしています。 そこでINDEX関数を用いる問題が出たので、INDEXとMATCHのネストを作りました。 =INDEX($C$20:$F$24,MATCH(G5,$C$19:$F$19,0),MATCH(H5,$B$20:$B$24,0)) こんな感じになりました。 でも、エラーが起きました。MATCH(H5,$B$20:$B$24,0))のところのセルH5には「1」とあり、B20:B24には「1回目」~「5回目」とセルに入力してありました。なので、一致しないからだと思いました。 そこで質問です。このような場合、どのようにすればエラーが起きないで戻り値が出るのでしょうか。 わかりにくい文章ですけど、教えてください。

  • INDEXとMATCH関数について。

    業務で使用しているファイルにINDEXとMATCHを組み合わせた関数を使っています。 =INDEX(Sheet4!E2:E999,MATCH(Sheet1!F17,Sheet4!A2:A999,0)+2,0) です。 教えて頂きたいことは、 ・上記の関数の説明(詳細)この関数はどういったしくみになっているのか。 ・セルが空白のときに#N/Aを表示させないこと。 ・完全一致型にしたいこと。 この3点を教えて頂けませんか?よろしくお願いします。

  • match関数とindex関数について

    index関数を次のように用いて、match関数で位置を取りだすことをしたいと考えています。 =index(0/$A$1:A20="休",0) matchは以下の上式を使って、以下のようにします。 =match(1,index(0/$A$1:A20="休",0)) この時、index内において、「休」だけでなく、「祝」も判定したいと考えた場合、上手い式の組み方は考えられるでしょうか。 ご教授願います。

  • Excel 同じ内容の文字列セルをまとめる

    お世話になります。 文字列の入った複数セルの中から 同じ内容のものがある場合 これらを配列数式データ上でまとめたいと思ってます MATCH構文を使って MATCH($A:$A,$A:$A,0)として 自らと同じものが何処に最も早く現れたかの配列数式データを作り これをソートして その後の主処理のデータにしたのですが MATCH構文かたくじ式なのでしょうか 物凄く遅いのです。 で本題なのですか MATCH構文を使わず 軽いCPU負荷で 配列数式上にある複数文字列データの同じものをまとめたいとき どうすればいいでしょうか? ご教示お願いします。

  • vlookupに、Indirect と Match 関数を組み合わせる

    vlookup関数で、検索値にSheet1(Book1)から、範囲は、Sheet2(Book1)のセルにある名前のついているSheet1(Book2), そして、列番号は、指定した名前とマッチするSheet1(Book2)の列番号から、導き出そうとしています。 ところが、Matchで指定した範囲は、Indirect内の関数として認識されないようで、結果が得られません。 たとえば、 Book1のA1~E1にタイトルが入っています。(Index, Title, Book, Author, Frequency) Book2には、 シート1: InputName シート2: Output シート2に以下の関数を入れてみましたが、うまくいきません。 ちなみに、VLOOKUPの列番号を Match関数の代わりに、5 とすると、結果オーライですが、Book1 の列順が変わっていることがあるので、Matchを使ってエラーを避けたいのですが、以下の関数のどこを直すべきでしょうか? =IF(ISNA(VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)),0,VLOOKUP(C2,INDIRECT("'["&InputName!$A$2&"]"& InputName!$B$2&"'!"&"$A$2:$E$1400"),MATCH("Frequency",$A$2:$E$2,0),FALSE)) よろしくお願いします。

  • Excelのmatch関数のバグ?それとも、私の勘違い?

    Microsoft Excel 2002 SP3 での質問です。 match("木",{"土","日"}) が、2を返すんですが、これはExcelのバグでしょうか? それとも、私の勘違いでしょうか? 第1引数が、第2引数の配列の何番目にあるかを調べるのが、matchの機能だと思ったのですが・・ なぜか、#N/Aが返りません。 これは、土日の判定に使おうと思っています。Weekdayで検査してもいいのですが、動かない理由が分かりません。 数値などは、問題なく動いているように見えますし、木曜以外は動きます。

  • エクセルのMATCH関数について

    エクセルのMATCH関数を使って“E18:E23”の表から125以下の1番目の値相当する”“E11:E16”の値を取り出す計算式を作成しています。(“E18:E23”表のそれぞれの行の数値が“E11:E16”の表のそれぞれの行の数値のリンクしています。そのときの数式が“=INDEX(E11:E16,MATCH(125,E18:E23,1),1)”です。この場合は上手くいくのですが、条件を“125以上の1番目の値相当するを作成して、”=INDEX(E11:E16,MATCH(125,E18:E23,-1),1)“の様にMATCHの式の最後を-1にするんですが、”#N/A“のエラーメッセージが表示します。どうすればいいのでしょうか?(*なお表“E18:E23”は数値が小さい順ですが、表“E11:E16”そうとは限りません)  それと、125以上の1番目だけでなく、2番目、3番目を拾い出す計算式はないでしょうか? 宜しくお願いします。関数に関しては初心者でいろいろ検索しましたが、ぴったり来ません。

このQ&Aのポイント
  • 三相200Vの引き込みがある建物から40m離れた小屋にエアコンを取り付けたい場合、配線工事を自分で引くことができます。
  • 配線工事の費用を節約するため、外回りの配線だけ自分で行うことができますが、どのような太さの線を使用すれば良いでしょうか?
  • 詳しい方にアドバイスをいただきたいです。
回答を見る

専門家に質問してみよう