• ベストアンサー

一定のセル範囲で複数の条件に該当しないセルの有無を簡単に取得する方法

A1:A20の範囲で、空白ではなく、A~Eや1~5のどれにも該当しないセルの有無を取得する場合、以下のような長ったらしい関数以外でもっと簡単な方法はないでしょうか? なお、設定の検索値のA~Dや1~5は例であり、実際は別の規則性のない文字列および数値です。 宜しくお願いいたします。 =SUMPRODUCT((A1:A50<>"")*(A1:A50<>1)*(A1:A50<>2)*(A1:A50<>3)*(A1:A50<>4)*(A1:A50<>5)*(A1:A50<>"A")*(A1:A50<>"B")*(A1:A50<>"C")*(A1:A50<>"D")*(A1:A50<>"E"))=0

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.6

質問者のお好きな?SUMPRODUCTを使うなら 範囲A1~A20 とした場合 =SUMPRODUCT((A1:A20={"","A","B","C","D","E",1,2,3,4,5})*1)=20 で、どうでしょうか。 見ればお分かりだと思いますが、質問者と逆で、 "","A","B","C","D","E",1,2,3,4,5 の数を数えています。    

merlionXX
質問者

お礼

あははは! (*´∇`*) 別にSUMPRODUCTが好きなわけじゃないですけど、CSE数式よりはわかりやすいんですよねえ。なんせオツムがいたって単純にできてるものですから  (^^;; ありがとうございました。

その他の回答 (5)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

配列数式ですが如何でしょうか。 検索条件をE1:E9に設定しておきます。 =(COUNTA(A1:A50)-SUM(COUNTIF(A1:A50,E1:E9)))=0

merlionXX
質問者

お礼

ありがとうございます。 勉強になります。

回答No.4

No.2です もう一案 =AND(COUNTA(A1:A50)=50, ISNA(MATCH({"",1,2,3,4,5,"A","B","C","D","E"},A1:A50,0))) そのまま確定、配列数式です。☆参考まで

merlionXX
質問者

お礼

なんどもありがとうございます。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

あまり短くなりませんが、例えば  =COUNTA(A1:A50)-COUNT(INDEX(MATCH(A1:A50,{1,2,3,4,5,"A","B","C","D","E"},0),)) ではいかがですか?

merlionXX
質問者

お礼

=COUNT(INDEX(MATCH(A1:A50,{1,2,3,4,5,"A","B","C","D","E"},0),)) で拾えるんですね、ありがとうございます。

回答No.2

有無なので =AND(A1:A50<>"",ISNA(MATCH({1,2,3,4,5,"A","B","C","D","E"},A1:A50,0))) [Ctrl]+[Shift] +[Enter] で確定、配列数式です({}で囲まれる)

merlionXX
質問者

お礼

やはり配列数式ですか。 "CSE 数式"はどうもぴんと来ないんですよ。 でもありがとうございます。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

DCOUNTで条件に該当する値が幾つあるかを調べて、データの総数から引いては如何でしょう。 A1に項目名を付けます(例:DATA)。次に、空いている列に一行目に先ほどと同じ項目名(例:DATA)、 2行目以降に除外したい値(A~E、1~5)を入れていきます。 D1:D11 に除外したい物のリストが出来たとして、条件に該当しないデータの個数は↓で出ます。 =COUNTA(A2:A21)-DCOUNT(A1:A21,,D1:D11)

merlionXX
質問者

お礼

ありがとうございます。 DCOUNTという関数があるんですね、勉強になります。

関連するQ&A

  • SUMPRODUCTの範囲指定で行位置をセルから取得したい

    Excel2002で質問です。 SUMPRODUCT関数の範囲の指定で行位置の数値を他のセルから取得したいのですが記述方法が分かりません。(環境はExcel2002です。) ・例としてセルA1に下記のSUMPRODUCT関数 =SUMPRODUCT((A3:A●="りんご")*(B3:B●="みかん")*(C3:C●)) ・セルZ1に数字"10"が入っています。 上記状態で黒丸の部分にセルZ1を参照し10を入れたいのです。 初心者で根本的な書式が分かってないのかもしれず… よろしくお願いいたします。

  • Excelで、指定した範囲の先頭のセルの値を取得するには?

    Excelで、指定したセル範囲(1列)で、空白を除いた先頭のセルの値を取得する 方法はありますでしょうか? できればマクロを使用せずに関数だけでできるほうがありがたいです。 例)  | A ------------ 1 |(空白) 2 | ○ 3 | △ 4 | × 5 | □ の場合、検索範囲にA1:A5 を指定すると、○が値として返ってくるような感じです。

  • セル範囲の中で、データの入っている左端のセルを選ぶ

    エクセル2003を使用しています。 セル範囲の中でデータが入っている一番左のセルを取得する関数はありますか?   A B C D 1 1020 2   23 25 3 21   30 上記のように、空白のセルもあり、データが入っているセルのうち、一番左のセルの数値を使用したいと考えています。(例:1行目なら10、2行目なら23というように) その数値を計算に使用するつもりです。 何か、いい方法がありましたらご教授願います。

  • エクセルにおける複数条件の関数について

    下記の内容を別シートに集計したいのですが、 関数が間違えているのかうまく数値が表示されません。 Aシートに以下の情報が入っています。 Cの列、C5からC54までの範囲に1から100の間で数字が入っています。 Dの列、D5からD54までの範囲に2013/6/1から2013/7/15までの日付が入っています。 例:C5に2と入っていて、D5に2016/6/3と入力されていれば該当し、 C5の2という値を別シートにその他のC列とあわせて合計を表示されるようにしたいです。 表示をさせたいBシートには、 D列のD5からD54範囲内の6月分(2014/6/1から2014/6/30まで)で、 C列に入力されている数値の合計を1つのセルに表示させたいです。 この場合の関数をお伺いしたい内容になります。 今、うまくいかない関数は、以下のような内容です。 =SUMPRODUCT(('201406'!$C$5:$C$54="○")*('201406'!$BW$5:$BW$54>="2014/6/1"*1)*('201406'!$BW$5:$BW$54<"2014/7/1"*1)) これだと、C列に○が入っていれば、その合計を表示できると思いますが、 1や5などの数字の合計を表示させるには・・で、困っています。 アドバイスいただけたらと思います。 ※関数をそのまま入力いたいと思っていますので、 返信は、関数でアドバイスいただけたら幸いです。 宜しくお願い致します。

  • 該当範囲のセルのデータを取得する

    EXCEL2010を使用しています。 【やりたい事】 シート2のドロップダウンリストで月を変更した時に、 シート1の該当する月の平日のデータを取得する 【状況】 波線の(左)シート1、(右)シート2です。 (シート1)   A~B列 : 祝日一覧          (A3~A19に祝日と名前をつけました)  D列 : 平日一覧       D3セル : 開始日           D4セル : =WORKDAY( D3, 1, 祝日 )        ・        ・       D4セルをCOPYして年末まであります。 (シート2)  A1セル : ドロップダウンリスト 1~12月まで選びます。  A2セル以下 : シート1の該当月の平日データを取得 平日を一覧にする所まではできましたが、シート2の 「月」の下のセルに、シート1の該当月のデータを 反映させるやり方がわかりませんでした。 どなたかお分かりになる方の知恵をお借りしたいです。 どうぞ宜しくお願い致します。

  • 【EXCEL】IPアドレス範囲に該当するかの条件文

    EXCELのB列に、調べたいIPアドレスが記載されています。 C列(最小値)からD列(最大値)にかけて、あらかじめ指定した アドレス範囲が記載されています。E列にC列からD列にかけての アドレス範囲を説明する文字が記載されています。 B列に記載されているIPアドレスが、B列(最小値)以上、かつ C列(最大値)以下の範囲にある時、A列にD列の説明文字が表示され、 かつ、B列のアドレスが記載されているセルの背景色を条件付き書式で 変更させたい。 <該当する場合の例> B1は(203.216.243.240)、C1は(203.216.224.0)、 D1は(203.216.255.255)、E1は(ヤフー株式会社)となっている時、 A1(空白)に、(ヤフー株式会社)と表示され、B1のセルの背景が赤色になる。 それぞれのセルに記載する条件文を教えて下さい。 なお、F列以降は空白なので計算式など自由に利用できます。 宜しくお願いします。 参考「IPv4アドレス変換ツール@Excel」 http://qx-xp.net/ipv4addressexchange_excel.aspx

  • エクセルで数値が入力されているセルのアドレス取得

    エクセルである範囲の中から、数値が入力されているセルのアドレスもしくは範囲を取得したいです。      A列  B列  C列  D列  E列・・・ 1行目  20   10    2行目       11        15   10   3行目                25   30  範囲指定 A1:E3 結果 A1,B1,B2,D2,D3,E2,E3     もしくはA1:B2,D2:E3 という結果がでるとうれしいです。よろしくお願いします。

  • 関数内のセルの範囲を他のセルから取得する方法

    教えてください。 関数内のセル名を他のセルから取得することはできるのでしょうか? 例えば、B列の合計を求めるSUM関数であれば A1セルに関数を記述 =SUM($B$x:$B$y) A2セルに範囲(上記式のx)を指定  1 A3セルに範囲(上記式のy)を指定  10 これにより、B列のB1~B10の合計を求める。 といった感じです。 ※実際に使用したい関数は、SUMではありません。 よろしくお願いします。

  • エクセルで複数条件のセルの数を数えるには?

    条件(1) 1行目項目がAかBかC 条件(2) 条件(1)の列が空白ではない 条件(3) A列の空白でないセルの数を数えたいのですが、 SUMPRODUCTなどを使っても条件(2)までの数しか出せないのです。 どうぞ宜しくお願いします。

  • Excelでセルの英字を取得する関数

    Excelでセルの英字を取得する関数を教えて下さい。  A B C D E F G 1 2 3 4 5 6 7 エクセルは 横のヘッダにアルファベットが並んでいます。 縦のヘッダに数値が並んでいます。 縦のヘッダは =ROW() で求まります。 1行目で書けば1 5行目で書けば5 と返ってきます。 同じ様に、 =COLUMN()は A列で書けば1 E列で書けば5 と返ってきます。 A列で書けばA E列で書けばE と返って来る関数が欲しいです。

専門家に質問してみよう