• ベストアンサー

「数式の結果」の値とセルに表示される値が一致しないです

=COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="a",1)))+COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="b",1)))&":"&COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="p",1)))+COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="d",1))) 本数式を入力するシートとは別のシート(継列)に行内に名前の定義で「Drink」にしてあるセルにMが入力されていた場合のN列のa+bの数とp+dの数をカウントして比を出したいのですが,関数の因数欄に表示される「数式の結果」では=で正しい比率が表示されるのに,実際のセルには0:0としか表示されません.何か問題なのかがまったく分からずお知恵をお借りしたい次第です.よろしくお願いいたします.ちなみにDrinkの定義も継列シート内です.

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

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

countif関数を使えばいいのかな。 =if(Drink="M", countif(継列!$N$10:$N$109,"a")+ countif(継列!$N$10:$N$109,"b")&":"& countif(継列!$N$10:$N$109,"p")+ countif(継列!$N$10:$N$109,"d"), "") こういうことをしたいんじゃないかと思うんですが。

maomao0115
質問者

お礼

ありがとうございます.調べてたら配列数式というのでできました.ctrl+shift+enterで{}で式が閉じられてできました. {=COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="a",1)))+COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="b",1)))& amp;":"&COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="p",1)))+COUNT(IF(Drink="M",IF(継列!$N$10:$N$109="d",1)))} http://office.microsoft.com/ja-jp/excel/HP052000201041.aspx

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

セルを右クリックして「セルの書式設定」から「表示形式」のタブで「標準」にすればよいでしょう。現在は表示形式が時刻になっているのではないでしょうか?

maomao0115
質問者

補足

ありがとうございます.確認しましたが標準になっています.

関連するQ&A

  • エクセルの数式について

    エクセルの数式について詳しい方がいらっしゃれば教えていただけないでしょうか。 例えば、 (1)M28セルに以下の数式が入っているとします。 =IF(INDIRECT(M$19)="","",IF(SUMIF(INDIRECT(M$20),$D27,INDIRECT(M$21))=0,"",SUMIF(INDIRECT(M$20),$D27,INDIRECT(M$21)))) (1)の数式で参照しているセルとして以下のものがあります。 (2)M19セル⇒=CONCATENATE("'計算'!",M13,)&$D$14 (3)M20セル⇒="'計算'!AR6:"&"AR"&$D$15+1 (4)M21セル⇒=CONCATENATE("'計算'!",M13)&$C$16+1&CONCATENATE(":",M13)&$D$16+1 (5)M13セル⇒N(文字列のみ) (6)D14セル⇒152(数値のみ) (7)C16セル⇒5(数値のみ) (8)D16セル⇒150(数値のみ) (9)D27セル⇒1-1(文字列のみ) そこで質問ですが、(1)の式で参照している、M$19やM$20、M$21がどこのセルを参照しているかわからないのです。 例えば、(2)の式では、M19セルには、『'計算'!N152』と表示されます。この数式とその結果としてM19に『'計算'!N152』と表示されるのはわかります。が、『'計算'!N152』がどこのセルのことを言っているのかがわかりません。 『!』があるので、『計算』というワークシートのN152を参照しているのかな・・・?とも思ったのですが違いますよね?! 因みに当ブックの中には『計算』というワークシートはありませんでした。 きちんと説明できている不安ですが、回答いただけると大変助かります。 宜しくお願い申し上げます。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • 数式が入ったセルで値がないときは詰めたい

    いつもお世話になります。 WINDOWS7 EXCELL2010です。 今回ご指導を戴きたいのは赤枠内です。 A Bは手入力します。 その結果、C D E Fの各列には下記の数式で表示されます。 例えば、 E5 E8 E9 の各列のように空白が出るので「見易く」 したいため詰めるのにどんな関数を入れればできますか。 添付画像で各列の説明です A 手入力 B 手入力 C =IF($B2="","",VLOOKUP($B2,一覧表!$A$2:$B$20,2,FALSE)) D =IF(COUNTIF($B$2:B2,B2)=1,ROW(B1),"") E =IF(K2="","",C2) F =IF(L2="","",COUNTIF($C$2:$C$19,"*"&C2&"*")) どうかよろしくお願いします。

  • 2つのセルのどちらかに値が入れば

    2つのセルのどちらかに値が入れば いつもお世話になります。 WINDOWS XP EXCELL2003です。 現在はD5に =IF(A5="","",SUM(D4+B5-C5)) の数式が入っています。 ※あたりまえですがA5に入力されたときにD5に値が表示されます。 ご教示いただきたいのは、  B5 若しくは C5  のいずれかに値が入力されたら D5 に値が表示をしたい。 ご指導の程よろしく御願いします。

  • 数式内のセルのオートフィル

    数式内のセルのオートフィル エラー値 #N/Aを返す数式 =IF(A1=0,NA(),A1) をA2に入力しているのですが、 この式ををA2~R2まで入力したいと思っています。 ひとつひとつ、=IF(A1=0,NA(),A1)、=IF(B1=0,NA(),B1)、=IF(C1=0,NA(),C1)…と 入力していけばいい話なのですが、 数が多いため、オートフィル機能のような形で連続セルを入力したいのですが、 なにかよい方法はないでしょうか?

  • 別シートに勉強時間の集計結果が表示されない

    こんばんは。 http://okwave.jp/qa/q9089695.html 質問No.9089695 上記前回質問でお世話になりました。 勉強時間を集計したSheet1には Sheet1にA列:科目 B列:開始日 C列:開始時刻 D列:終了日 E列:終了時刻 の記載があります。 終了時刻から開始時刻を差し引いた作業時間を表示する列がありません。 頂いたアドバイスとして、 *********************************************************************************************************** Sheet3のA列とB列を作業列として使用して、Sheet2に科目ごとの勉強時間の合計を集計するものとします。 Sheet3のA2セルに次の関数を入力して下さい。 =IF(INDEX(Sheet1!$A:$A,ROW())="","",IF(COUNTIF(Sheet1!$A$1:INDEX(Sheet1!$A:$A,ROW()),INDEX(Sheet1!$A:$A,ROW()))=1,ROW(),"")) Sheet3のB2セルに次の関数を入力して下さい。 =IF(COUNT(INDEX(Sheet1!$B:$E,ROW(),))=4,IF(ISERROR(1/(INDEX(Sheet1!$B:$B,ROW())=TEXT(INDEX(Sheet1!$B:$B,ROW()),"yyyy/m/d")/(INDEX(Sheet1!$B:$B,ROW())>=1))/(INDEX(Sheet1!$C:$C,ROW())=TEXT(INDEX(Sheet1!$C:$C,ROW()),"h:m:s")+0)/(INDEX(Sheet1!$D:$D,ROW())=TEXT(INDEX(Sheet1!$D:$D,ROW()),"yyyy/m/d")/(INDEX(Sheet1!$D:$D,ROW())>=1))/(INDEX(Sheet1!$E:$E,ROW())=TEXT(INDEX(Sheet1!$E:$E,ROW()),"h:m:s")+0)),"",IFERROR(TEXT(SUM(INDEX(Sheet1!$D:$E,ROW(),))-SUM(INDEX(Sheet1!$B:$C,ROW(),)),"[h]:m:s")+0,"")),"") Sheet3のA2~B2セルをコピーして、Sheet3のA列~B列の3行目以下に貼り付けて下さい。 Sheet2のA2セルに次の関数を入力して下さい。 =IF(ROWS(A$1:A2)>COUNT(Sheet3!$A:$A),"",INDEX(Sheet1!$A:$A,SMALL(Sheet3!$A:$A,ROWS(A$1:A2))))。 Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",TEXT(SUMIF(Sheet1!$A:$A,$A2,Sheet3!$B:$B),"[h]:m:s")+0) *********************************************************************************************************** 上記のアドバイスを実行しましたが、項目は表示されましたが、時間が表示されません。 時間が表示されない理由はどんなことが考えられますか? よろしくお願い致します。

  • セルの値に応じて数式を入力するシートを変えたい

    シート名が 「aaa」 「bbb」 「ccc」 「ddd」 という4つのシートがあります。 シート「aaa」のD4セルに入力した値(シート名)に応じて、 (上記で設定したシート)のF7セルに "=SUM(F5:F6)"という数式を入力したいのですが、 おわかりの方がいらっしゃいましたらご教授いただければ幸いです。 例) シート「aaa」のD4セルに「ccc」と入力して実行すると、 シート「ccc」のF7セルに「=SUM(F5:F6)」の数式を入力するマクロを作成したい。 (シート「aaa」のD4セルに「ddd」と入力して実行すると、 同様に、シート「ddd」のF7セルに数式をマクロで入力したい)

  • 数式が入ったセルに値が0以上のセルに背景色を

    いつもお世話になります。 WINDWS7 EXCELL2010です。 L列に下記の数式がはいり、B列には(mm/dd)の日付が入っています。 月度が変わったときに値が表示されますが分かり易くするために背景色を付けたいのですがどうすればいいのかご指導を賜りたいです。 =IF(MONTH(B2)=MONTH(B3),"",SUMPRODUCT((MONTH(OFFSET($B$2,0,0,COUNT(B:B)))=MONTH(B2))*OFFSET($D$2,0,0,COUNT(B:B)))) 宜しくお願いします。

  • 数式で空白にしたセルについて

    もともと空白だったセルD1とE1があって、F1に「=D1*E1」と 数式を立てるとF1には0が表示されます。 しかし、D1に例えば「=IF(B1="","",VLOOKUP(B1,$G$1:$N$5,2,FALSE))」 という数式を入れD1を空白にすると「=D1*E1」の数式があるF1には #VALUE!のエラーがでます。 D1に返された""は、通常の空白という意味とは違うのでしょうか? また、通常の空白セルとは0(ゼロ)が設定されているのでしょうか? ご存知の方教えて頂けますでしょうか

  • エクセルVBAでセルの値を名前定義連続

    いつもお世話になってます。 エクセルVBA2013で質問です。 データ シートのC3から順次行方向にD3,E3と名前が入っています。 行方向に入る数は、下記のコードで取得できる数が上限になります。 i = Range("B4:B" & Cells(Rows.Count, "B").End(xlUp).Row).Count + 2 そのC3から順次行方向のセルの値を名VBAで名前を定義したいと思っています。 参照範囲は、C3ならC列全体、D3ならD列全体・・・としていきたいです。 各セルに入る値は変化することがあります。C3に「あいう」と入力したり「AAA」と入力したりと変化します。その度に名前の定義を変更したいです。(イベントでなく普通にボタンを押して変更する) 名前が変わるので、同じ範囲で名前が違うものがいくつもできないようにしたいです。 すいません、色々条件ありますがどうぞよろしくお願いいたします。

専門家に質問してみよう