• ベストアンサー

EXCEL関数 conuntif式の簡略化

EXCELの次の式のような「同じ範囲」の中の、 指定した文字だけを数える式にしたいのですが、 式が長くなりますので、簡略化した式を教えてください。  式に関係はないと思いますが、式の範囲の中には、非表示の列や行が多数あります。 =COUNTIF(F6:AM6,"G")+COUNTIF(F6:AM6,"ク")+COUNTIF(F6:AM6,"A")+COUNTIF(F6:AM6,"B")+COUNTIF(F6:AM6,"C") ご指導宜しくお願いいたします。

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

  • ベストアンサー
  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

そのくらいなら配列定数を使えばいいでしょう。 =SUM(COUNTIF(F6:AM6,{"G","ク","A","B","C"}))

iki-sima
質問者

お礼

短い・計数したい見時の追加し易い数式ですね、 試用させていただきます。 早速のご指導ありがとうございました。

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

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

COUNTIF関数で抽出する理由は何ですか? 他のSUMPRODUCT関数でも良いと思います。 =SUMPRODUCT(N(F6:AM6={"G";"ク";"A";"B";"C"}))

iki-sima
質問者

お礼

早速ご指導は 短い・計数したい見時の追加し易い数式ですね、 試用させていただきます。 ありがとうございました。

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

配列数式を取り入れないのであればそれが一番簡略した形ではないでしょうか? COUNTIFS関数ではだめなんでしょうか…? また、作業列を設けて合計させるのはだめなんでしょうか…? 数式が煩雑になる場合は作業列を設けるのが一般的かと思います。 あとDCOUNT関数を使用したり… conuntif式縛りはきついですね…。

iki-sima
質問者

お礼

早速ご指導を試用させていただきます。 ご指導ありがとうございました。

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

下記のような例なら、文字部分を配列的に書いて数えられる。 例 サイズのデータとして B2:B10 LL LL M M S M LL M ーーー LLとSのセルを数えたい場合、 どこか答えを出すセルに =SUMPRODUCT((B1:B10={"LL","S"})*1)  で 5 このやり方では、セルの文字の一部文字列指定でなく、1セル全体の値をチェックする場合です。 またB1:B10の部分が複数列では使えない。質問のケースでは使えないが、参考に。 SUMPRODUCTは、配列数式の利用を避ける場合の常套手段です。

iki-sima
質問者

お礼

早速ご指導は 短い・計数したい見時の追加し易い数式ですね、 試用させていただきます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

遣りたいことを質問に、文章で記すこと。 質問者の式が適当かどうか、その説明文章(目的)を見ないと、判断できないから。 初心者で、思い付きで、珍奇なやり方を考えて、それについて質問している例をよく見かけるから。 普通のニーズでは、それぞれの文字1字の出現セルの数を足し合わせることは想像しがたいが。

iki-sima
質問者

お礼

質問内容の整理と見直しを致します。 早速のご指導ありがとうございました。

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

関連するQ&A

  • エクセルのCOUNTIF関数について教えてくださいm(__)m

    現在、エクセルのCOUNTIFを利用して、アンケートを集計中です。 その中で、例えば、集計(見たい)場所がC3~C472の範囲 を指定した場合には・・      =COUNTIF(Sheet3!C3:C472,"<"&50) 上記の式でOKでした。 そこで、F3~F472も同時に読ませて、その中から50未満 のデータ数を出力することとしておりますが、D、Eの列にも数 値があるものですから、      =COUNTIF(Sheet3!C3:F472,"<"&50) とはできないものですから、COUNTIFをしたい、場所を複数ヶ所 指定する方法を教えてください。 よろしくお願いします。

  • Excel 関数式についての質問

    エクセルの関数式について、質問させてください。 以下の条件文を満たす、B列に記述する式が分かりません。ToT COUNTIF の中に、OR(…)を入れても、機能しないのです。 (条件文) A列の値が、「ねこ」又は、「いぬ」の文字列含む場合、B列を\300        「ごりら」の文字列を含む場合、B列を\200         「さる」の文字列を含む場合、B列を\100         それ(上記)以外は、B列を\0 -------------------------------------------------- (1行A列): ねこ (1行B列): \300 (2行A列): いぬ (2行B列): \300 (3行A列): さる (3行B列): \100 (4行A列): よく食べるいぬ (4行B列): \300 (5行A列): いのしし (5行B列): \0 (6行A列): よく寝るごりら (6行B列): \200 -------------------------------------------------- よろしくお願いいたします。m(_ _)m

  • Excel2010でcountif関数について

    countif関数を使って、特定の文字が入力されたセルの数を算出するシートを作っています。検索する文字に"*"(アスタリスク)を指定すると数字以外のセルがすべてカウントされてしまいます。 =countif(範囲,"*") 他の文字列と同じように検索するにはどうしたら良いでしょうか?

  • Excel関数で

    ある範囲を指定して、その中で一番右側に入っている値を取り出す 式を入れています。 =IF(COUNT(A4:G4),LOOKUP(MAX(A4:G4)+1,A4:J4),"") 更に別の場所に、指定した範囲の一番右側に入っている値の、一番上の列に入っている値を求めたいのですが、 どうしたらいいのでしょうか? 例えば・・・ 指定範囲 A4:G4 この範囲の一番右の値が入っているセルが、C4 だとした場合、 C1 に入っている値を求めたいということです。

  • Excel関数で

    ある範囲を指定して、その中で一番右側に入っている値を取り出す 式を入れています。 =IF(COUNT(A4:G4),LOOKUP(MAX(A4:G4)+1,A4:J4),\"\") 更に別の場所に、指定した範囲の一番右側に入っている値の、一番上の列に入っている値を求めたいのですが、 どうしたらいいのでしょうか? 例えば・・・ 指定範囲 A4:G4 この範囲の一番右の値が入っているセルが、C4 だとした場合、 C1 に入っている値を求めたいということです。

  • この場合の関数を教えてください。IF関数とCOUNTIF関数?

      A      B    C  D  F  G 1 12300 2 9800 3 14500 上記の様な表($a$1:$d$3) がある時、 B1 ◎      D1 △   F1◎     C2◎         F2△ B3△      D3◎ F1 に◎を入れた時に、 もし、A列の値が10000より大きいなら(注)、範囲$a$1:$d$3の◎の数を数え結果をG1に2と表示させたいです。(F2に△と入れたら2と表示) (注) 1行目は、12300(A1)なので1行目はカウントの範囲。 2行目は、9800で10000より小さいのでカウントの範囲から外れる。 3行目は、14500はカウントの範囲。 2行目の◎(C2)はカウントされないようにするには、 G1にどのようなCOUNTIFの関数を入れればよいのでしょうか? いつも教えているので、考えたのですが? =IF(A1>10000,COUNTIF($B$1:$D$3,F1),"0")では、間違いとは気づいたのですが? (A1>10000が間違い)どの様にして良いか解りません。 どなたか教えてください。宜しくお願いいたします。 (見にくい表で申し訳ありません)

  • EXCEL関数について教えてください

    一覧表から条件一致の数を数える関数。 一つの範囲を指定して、その中から条件に一致するセルを数えるには COUNTIF関数を使いますが、 別々の範囲の中から、各々一つずつの条件に一致するセルを数えるには どうしたら良いでしょうか? 例えば、A列の○○という条件に一致して、なおかつE列の△△にも一致する セルの数を数えたいのですが。。。 分かりにくくてすみません。

  • エクセルの関数の立て方。

    エクセルを勉強していて、以前にこちらで教えていただき大変助かったのですが、その式の仕組みがわからないので、参考書などをみて調べてみたのですが、やはりわからなかったので再度質問させてください。 =(範囲="陽性")*1 という式なのですが、範囲に陽性という言葉があったら1を、なければ0を返すという関数のようなのですが、()と=しか使われておらず、これだけで、この役割をしてくれる理由を教えてください。 あともう一つ! COUNTIFをつかっていて、=COUNTIF(範囲、”>=10000”)で、なぜ””が必要なのですか? ””の役割は日本語や数字以外の文字列を返すときにだけ使うものではないのでしょうか? ↑をみていただければわかると思うのですが、エクセル全くの初心者ですので怒らないでくださいね・・・。

  • Excelの関数

    Excelで、範囲指定した列に文字"○"があり、なおかつ文字"○"があった行の範囲指定した別の列に文字"△"があるセルの個数カウントをしたいのですが、その場合の関数がわかりません。 わかりづらい質問で申し訳ございませんが教えてください。 よろしくお願いいたします。

  • エクセル【IF関数、OR関数】について

    先ほどの質問(http://okwave.jp/qa/q6870449.html)の続きというか補足です。 具体的には、 ・F列またはG列に、X5またはX6またはX7またはX8またはX9またはX10のいずれかの値が入れば、I列に「A」と表示させる。 ・F列またはG列に、X14またはX15またはX16またはX17またはX18のいずれかの値が入れば、I列に「B」と表示させる。 ・F列またはG列に、X23またはX24またはX25またはX26またはX27またはX28のいずれかの値が入れば、I列に「C」と表示させる。 ということがやりたいです。 X列の値は全て文字列(人名)です。 先ほどいただいた回答の、 =IF(COUNTIF(X5:X10,F3)+COUNTIF(X5:X10,G3),"A",IF(COUNTIF(X14:X18,F3)+COUNTIF(X14:X18,G3),"B",IF(COUNTIF(X23:X28,F3)+COUNTIF(X23:X28,G3),"C",""))) という式を入れてみましたが、F列、G列が空白でも「A」と表示されてしまいました。 教えてgooを利用するのは初めてなので、おかしなことをしていたら申し訳ありません。

専門家に質問してみよう