• ベストアンサー

エクセル「COUNTIFS」でエラーになります。

セルF10~P10で”○”が連続して3つ並んでいるかどうか調べるのに先日教えて頂いた「COUNTIFS」関数を使ってみたのですがERRORになってしまいます。 添付のファイルの斜線罫線部のセルは除きたいのですがどうすればよいでしょうか? また教えて頂けると幸いです。  =IF(COUNTIFS((G10:I10,M10),"○",(H10:I10,M10:N10),"○",(I10,M10:O10),"○")>3,"A","B")

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

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

>セルの○は「まる」の変換文字(記号)なのですがなぜエラーになってしまうのでしょうか? 〇と○は異なる文字です。 私が提示した数式の"〇〇〇"は漢数字のゼロかも知れません。 他人の数式を丸写しで使うと似て非なる文字になることがありますので注意してください。 自分なりの応用で数式を変えて運用してください。 Excel 2013で「まる」を変換して「記号のまる」を選択したのですが見た目ではこの回答で変換したときの漢数字のゼロと同じ形でした。

nonta3737
質問者

お礼

どうもありがとうございました。 解決しました。 助かりました。また宜しくお願い致します。

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

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 ”○”が連続して3つ並んでいるかどうか調べるためには、次の様な場合に誤って"A"が表示される事がない様にする必要があります。 ・1つのセルの中に"○○○"という文字列が入力されている場合 ・"○"が入力されているセルが3個以上"連続せずに"ある場合で、尚且つ"○"が入力されているセルの間のセルが空欄となっている場合  上記の様な場合にも正しい結果が表示される様にするためには、次の様な関数とする必要があります。 =IF(ISNUMBER(FIND(CHAR(1)&"○"&CHAR(1)&"○"&CHAR(1)&"○"&CHAR(1),CHAR(1)&CLEAN(G10)&CHAR(1)&CLEAN(H10)&CHAR(1)&CLEAN(I10)&CHAR(1)&CLEAN(M10)&CHAR(1)&CLEAN(N10)&CHAR(1))),"A","B") 或は =IF(ISERROR(FIND(CHAR(1)&"○"&CHAR(1)&"○"&CHAR(1)&"○"&CHAR(1),CHAR(1)&CLEAN(G10)&CHAR(1)&CLEAN(H10)&CHAR(1)&CLEAN(I10)&CHAR(1)&CLEAN(M10)&CHAR(1)&CLEAN(N10)&CHAR(1))),"B","A") 或は =IF(ISNUMBER(FIND(" ○ ○ ○ "," "&TRIM(G10)&" "&TRIM(H10)&" "&TRIM(I10)&" "&TRIM(M10)&" "&TRIM(N10)&" ")),"A","B") 或は =IF(ISERROR(FIND(" ○ ○ ○ "," "&TRIM(G10)&" "&TRIM(H10)&" "&TRIM(I10)&" "&TRIM(M10)&" "&TRIM(N10)&" ")),"B","A")

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

>添付のファイルの斜線罫線部のセルは除きたいのですがどうすればよいでしょうか? COUNTIFS関数では範囲を飛び飛びにすることはできません。 飛ばすセルの条件があれば提示してください。 対象範囲のセルに〇または×が1文字のみ入るかブランクであれば元データを&演算子で連結した文字列を対象にFIND関数で〇の3連続の有無を判定できます。 =IF(FIND("〇〇〇",F10&G10&H10&I10&J10&K10&L10&M10&N10&O10&P10&" 〇〇〇")<LEN(F10&G10&H10&I10&J10&K10&L10&M10&N10&O10&P10),"A","B") または次の数式でも良いでしょう。 =IFERROR(IF(FIND("〇〇〇",F10&G10&H10&I10&J10&K10&L10&M10&N10&O10&P10),"A","B"),"B")

nonta3737
質問者

補足

上記の式を入れやってみましたがFIND関数で#VALUEが表示されてしまいます。セルの○は「まる」の変換文字(記号)なのですがなぜエラーになってしまうのでしょうか? 教えていただきたくお願い申し上げます。

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

》 斜線罫線部のセルは除きたい… えッ!それらを除いて、なおかつ、「連続して3つ並んでいるかどうか調べるの」? 「連続して3つ並んでいる」場合があり得るのは列G、H、Iの3列だけでは? 「ERRORになってしまいます」って、貴方はERRORでなく何を返して欲しいの? 「A」「B」のドッチ?ソレはなぜ?

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

関連するQ&A

  • rounddownでのエラー対処

    以下の式での結果を、小数点切捨てで表示させたいと思います。 =IF(E5="","",IF($O$5/$P$5*($P$5-L5+1)="",$O$5,IF($O$5/$P$5*M5="",$O$5,IF(L5>0,$O$5/$P$5*($P$5-L5+1),IF(M5>0,$O$5/$P$5*M5,$O$5))))) 上の式にROUNDDOWN()関数を使って見ました。 一応2つ目の式は元の関数も括弧して試してみました。 =ROUNDDOWN(IF(E5="","",IF($O$5/$P$5*($P$5-L5+1)="",$O$5,IF($O$5/$P$5*M5="",$O$5,IF(L5>0,$O$5/$P$5*($P$5-L5+1),IF(M5>0,$O$5/$P$5*M5,$O$5))))),0) =ROUNDDOWN((IF(E5="","",IF($O$5/$P$5*($P$5-L5+1)="",$O$5,IF($O$5/$P$5*M5="",$O$5,IF(L5>0,$O$5/$P$5*($P$5-L5+1),I(M5>0,$O$5/$P$5*M5,$O$5)))))),0) ここで質問ですが、セルE5の数字を消す(空白)とエラーになってしまいますので、エラーの回避方法をお願いします。(式の通りE5が空白であれば結果も空白にさせたい) ROUNDDOWN()関数を使用する前はエラーにはなりません。 補足 ・上記はG5セルの関数です ・$O$5には小数点以下3桁までの数字が入っています ・$P$5には必ず正整数が入ります ・F列には=ROUNDDOWN($N$5*E5,0)の式が入っており、$N$5には小数点以下2桁までの数字が入っています(※質問式とは直接関係ありません) ・同じ行でL列とM列同時に数字が入ることはありません。またどちらも空白になることはあります。何れも正整数か空白です。 ・その他セルには正整数か空白が入ります =IF(ISERROR(ROUNDDOWN(IF(E5="","",IF($O$5/$P$5*($P$5-L5+1)="",$O$5,IF($O$5/$P$5*M5="",$O$5,IF(L5>0,$O$5/$P$5*($P$5-L5+1),IF(M5>0,$O$5/$P$5*M5,$O$5))))),0)),"",ROUNDDOWN(IF(E5="","",IF($O$5/$P$5*($P$5-L5+1)="",$O$5,IF($O$5/$P$5*M5="",$O$5,IF(L5>0,$O$5/$P$5*($P$5-L5+1),IF(M5>0,$O$5/$P$5*M5,$O$5))))),0)) と入力するとエラーは回避できますが、式がとても長くなり見づらいです。条件付書式も使用しないで考えたいです。 質問に元式を使用していますので分かり難いかもしれませんが、回答の方宜しくお願いします。

  • エクセル countifs関数について

    エクセル countifs関数について 上記を使い、相談受けた内容や人の情報を日付ごとにまとめているデータを集計するやり方です。 その中にあるデータ 男 の数を月ごとにまとめたいのですが、 データは、同じ日なら、同じ列に追記していく形になっているので、 countif(c2:d34,〝男〝)として、 複数範囲 を選択し、男のデータを集計しておりました。 ただ、月ごとに自動で選択されるように h列に month関数で月の値を求めてから、 i列にi2から月の数字として、4~3 の値 入力。 式をcountifs(c:g,〝男〝,h :h,i2) としたところ、エラーとなり、データを求めることができませんでした。 範囲を、複数範囲と列 で設定しているのが、よくないと思うのですが、うまくやる方法ないですかね。 列 と列で揃えるしかないですかねぇ。 もし、よい方法があれば、ご教示ください。 ※データを言葉だけで表現しているので、大変わかりにくくて申し訳ありません。 countifsの考え方を知りたいというのが目的なので、実際の式、データよりは、かなり簡潔にして記載しております。

  • エクセルで条件付きで罫線の斜線を引きたいです。

    エクセル2007についての質問です。 ある条件のときに罫線の右下がり斜線を引きたいのですが、条件付書式ではできません。 マクロでしなくてはいけないことはわかったのですが、それ以上は進めなくて困っています。 セル(U2)に数字を打ち込んだらセル(I10:J11),(I12:J13),(I14:J15),(L10:Q11),(L12:Q13),(L14:Q15)(結合したもの)にIF関数とINDEX関数を組み合わせて他のシートからセル(U2)に対応するデーターを呼び出しています。 セル(I10:J11)に呼び出した数値が10未満ならセル(L10:Q11)に罫線で右下がりの斜線を入れ、10以上なら右下がりの斜線を消すということが行いたいです。(他の2つの組み合わせでも同様) 当方マクロを組んだことが全くなく本を読んで独学しているのですが、至急必要ということになり当方の技術ではなんともなりません。助けてください。 ちなみにセル(I10:J11)に書いてある関数は=VLOOKUP($U$2,別シート!$A:$I,3,0) セル(L10:Q11)に書いてある関数は=IF(INDEX(別シート!$A$3:$K$400,$U$2,4)=0,"",INDEX(別シート!$A$3:$K$400,$U$2,4)) といったものです。

  • エクセル2007のcountifs,sumifsについて

    以前は複数条件を設定する場合にはsumproductを使っていましたが 使い慣れたcountif,sumifに複数の条件が設定できると知り、 計算式を作ってみましたがうまくいきません。 期間内の数値の入力されているセルの個数を求めたくて 次のような式にしてみました。 D1は2009/10/1 D2は2009/11/1 p6:p331は金額 B6:B331は日付 =COUNTIFS(P6:P331,">=1",B6:B331,"and(>=D1,<=D2") 実際には30程該当するセルがあるのに0と表示されます。日付の 部分がおかしいのだとは思いますがどのように入力したらいいのでしょうか。 それと、金額の入力してあるセルを指定するのに >=1としていますが これも他に数値を表す関数とかありますでしょうか。 同じようにSUMIFSも0になってしまいます。

  • エクセル 条件に当てはまるセルの値を返す方法

    こんにちは、よろしくお願いします。   D   E   F   G   H   I ・・・・・N    O  1 北海道 東京 愛知 大阪 京都  沖縄  2  1   2   3   4   5   6        愛知  3  2   3   6   5   1   4        北海道    4  4   2   3   1   5   6        東京   5  2   3   6   5   1   4        京都  6  1   2   3   4   5   6        北海道 となっている表があります。(本来はMまで地名が入っています) この時にNに該当の数字を入れたいのです。 具体的にはN2に3、N3に2、N4に2となっていきます。 =IF(O2=$D$1,D2,IF(O2=$E$1,E2,IF(O2=$F$1,F2,IF(O2=$G$1,G2, IF(O2=$H$1,H2,IF(O2=$I$1,I2,IF(O2=$J$1,J2,IF(O2=$K$1,K2,(O2=$L$1,L2))))))))) とやってみたのですが、やたら長くスマートではない上に、これ以降が エラーになって入力できなくなってしまいました。 良い方法を知っていればご教授下さい。 お願いします。 mac OS10.5 excel2004を使用しています。

  • Excelで文字を抽出したい

    A列に文字がはいっており(IかHかOかPを含む文字 23~25文字)、B列にはA列中の一文字(IかHかOかP)だけを表示させたいんです。 つまり、 ●もしA1セルに****I***・・・が入っていたら→B1セルにはI ●もしA2セルに****H***・・・が入っていたら→B2セルにはH、 というふうにしたいです。 この場合、B列にはどういった関数を入れればいいんでしょうか? 尚、***の部分にIかHかOかPは1文字しか入りえません。

  • countifsで可能でしょうか?

    非常にも困っているのでご存知の方教えてください。 現在Excel2007のワークシート関数Countifsを使って値を求める作業をしています。(複数条件に合致したセルの数を求める) 以下例です。 ----A-----B-----C-----D-----E-----F-----G 1---1/1---1/1---1/2---1/3---1/4---1/5---1/6 2---○----○----×----○----×----×----× 3---×----○----×----×----×----×----× 4---○----○----×----○----×----×----× 5---○----×----×----○----×----×----× セルA1からG1は日付です。 求めたい事 1、日付が1/1でかつ×のセルの数。 2、日付が1/5以下でか×のセルの数 これがなかなかうまくいきません。 申し訳ありませんが対応方法がお分かりの方、 ご伝授頂けませんでしょうか? よろしくお願いします。

  • エクセルについて

    エクセルで A B C D E F G H I J K L M N O P Q R … と並んでいるデータを A B C D E F G H I J K L … のように並べ変えたいのですが、最も効率のよい方法を教えてください。 上記のアルファベット1つにセル1つです。 Office2007を使用しています。 以上、宜しくお願い致します。

  • エクセルについて

    エクセルにおいて、下記のように1~5のみ残し、その他無くなった数字は見えなくする、もしくわ文字の色を白にして見えないようにしたいと思っています。   A B C D E F G H I J K L M N O P Q R S T U 1 0 0 0 0 0 1 2 3 3 3 3 3 4 5 5 5 5 5 5 5 5 2 0 0 1 2 2 2 2 3 4 4 5 5 5 5 5 5 5 5 5 5 5         ↓         ↓   A B C D E F G H I J K L M N O P Q R S T U 1 1 2 3 3 3 3 3 4 5 2   1 2 2 2 2 3 4 4 5 私は基本的な関数は使用出来ますが、VBAは勉強し始めたばかりです…。 良い方法をご教示頂ければと思っております。 よろしくお願いいたします。 ※記入した例において、1~5の列がズレていますが、行も列も同じばしょのままでお願いします。

  • COUNTIFS関数について

    EXCELのCOUNTIFS関数について質問させてください。 I列に部署名(7~8種類) BC列に残業時間(10:00や30:00など[h]:mm表記に設定) が入力されたデータが950件弱あります。 社内全体の残業時間を出すことは出来たのですが 部署別で尚且つ、40時間越え〇人・50時間越え〇人 というように区切って集計する事が出来ませんでした…。 使ってみた関数は下記の通りです。 =COUNTIFS(I3:I706,対象部署,BC3:BC706,">=40:00") 結果は何度やってもエラーか【0】になってしまいます。 どなたか力を貸してください。 具体的な関数とアドバイスを頂けると幸いです。 宜しくお願い致します。

このQ&Aのポイント
  • 2、3週間前から、英語のサイト(On Line Latin dictionaryというラテン語の辞書のサイト)に、日本語の広告が出まくり、見づらくてイライラします。
  • 消すか、ブロックする方法はありますか?(英語のサイトに、なぜ日本語の広告が?)
  • NEC 121ware : Windowsについての質問です
回答を見る

専門家に質問してみよう