『名前定義を使った時、0表示しない様にしたい』(レモン1707) IFとAND関数を使って = IF(AND(D7="",D8="",D9="",G7="",G8="",G9=""),"",SUM(D7:D9,G7:G9)) 名前定義を使って ・・・=IF("採点"="","",SUM(採点)) 2つの方法(違う関数を使って)・・・答えが同じ様にと、ところが IFとAND関数では、解答を入力していない時は・・「空白」 間違った解答の時は「0」 名前定義を使った方では、解答を入力していない時・「0」が入りますが「空白」にしたい。間違った解答の時は「0」が入り問題ありません。 AND関数の様に「空白」にしたいのですが、思う様にいきません。 名前定義を使った時 最初の「"採点"」は、「文字列」 合計する時の「採点」は「数式」で使用・・・・わからなくなってきました。 宜しくお願い致します。 < 使用 Excel:Excel2016、使用 OS:Windows10 > ---- 名前定義を使った方の式は、iF文が機能していないように見えます。ダブルクォートで括ると、それは単なる文字列ですから。 たとえば、「=IF(COUNTA(採点)=0,"",SUM(採点))」にするとか? (???) 2017/07/05(水) 11:47 ---- こんなに早くが返事を頂きありがとうございました。 できました。 =IF(SUM(採点)=0,"",SUM(採点))・・・・・解答を入力していない「空白」、になりました。 IFとAND関数を使った時よりスッキリしました。 これからも宜しくお願い致します。 (レモン1707) 2017/07/05(水) 12:24 ---- 名前定義の関数 スッキリ行ったと思っていましたが、解答を入力していない時は「空白」でいいのですが、間違った解答を入力した時「0」になりません。なんとかして 解答を入力していない時・・・・「空白」 間違った解答の時は・・・・・・「0」 となる様にならないでしょうか? 宜しくお願い致します。 (レモン1707) 2017/07/05(水) 13:12 ---- ???さんは =IF(SUM(採点)=0,"",SUM(採点)) ではなく =IF(COUNTA(採点)=0,"",SUM(採点)) としているが? =IF(COUNTA(採点),SUM(採点),"") でもいいか。 (ねむねむ) 2017/07/05(水) 13:18 ---- ???さん、ねむねむさん 返信ありがとうございました。 解答する前に「0」が入ってしまいます。何とか「空白」にしたいのですが。 宜しくお願い致します。 (レモン1707) 2017/07/05(水) 20:45 ---- >解答する前に「0」が入ってしまいます。 集計対象のセルが未入力なのに0となるのか? それとも集計対象のセルには式が入っているのだろうか? (ねむねむ) 2017/07/06(木) 09:05 ---- 解答欄は手入力なのですか? それとも数式なのですか? COUNTA関数だと、数式でもカウントしてしまいますので、おっしゃるような現象になります。数式が含まれているならば、COUNTBLANK関数に変えて、空白のセル数が全セル数に一致しているかどうかで判定してみてはいかがでしょうか。(ご提示の例だと、COUNTA(採点)=0 の代わりに COUNTBLANK(採点)<>6) (???) 2017/07/06(木) 09:21 ---- =IF(OR(INDEX(採点,,,1)<>"",INDEX(採点,,,2)<>""),SUM(採点),"") というのも。 (ねむねむ) 2017/07/06(木) 09:24 ---- ???さん お世話になっています。 解答欄には、「関数 =IF(C7="","",IF(C7="北海道",1,0))・・・という関数が入っています。 教わった様にしましたら・・・・・#VALUE. となりました。 ねむねむさん お世話になっています。 教わった様にしましたら・・・「この関数に対して、多すぎる引数が入っています」 のメッセージが出てきます。 宜しくお願い致します。 (レモン1707) 2017/07/07(金) 13:08 ---- >「この関数に対して、多すぎる引数が入っています」 カンマの数はあっているだろうか? それと、すまない。 その式の場合、式を入力してShiftキーとCtrlキーを押しながらEnterキーで式を確定してくれ。 (確定後、式が{}で囲まれればOK) (ねむねむ) 2017/07/07(金) 13:14 ---- ねむねむさん 数式バーに教わった関数を入れて・・shiftとctrlを押してenterキーで確定しましたが、・・・この関数に対して、多すぎる引数が入力されています。 と出て、 式が{}で囲まれていません。 お手数をお掛け致しております。 (レモン1707) 2017/07/07(金) 14:11 ---- =INDEX(採点,,,1) と入力すると(そのままEnterで)なんと表示されるだろうか? (ねむねむ) 2017/07/07(金) 14:15 ---- 私の方の案ですが、SUMもCOUNTAもCOUNTBLANKも、#VALUE にはならなそうな関数なのですが、「採点」という名前定義が示している範囲に、何か問題はないでしょうか? (???) 2017/07/07(金) 14:28 ---- ねむねむさん #VALUE!・・・となりました。 ??さん 「採点」という名前定義が示している範囲には =IF(C7="",""IF(C7="北海道",1,0))・・・・C8せるには、左の関数の「北海道」の代わりに「青森」C8には「岩手」がはいっています。・・・・ (レモン1707) 2017/07/07(金) 14:52 ---- >=IF(AND(D7="",D8="",D9="",G7="",G8="",G9=""),"",SUM(D7:D9,G7:G9)) この式から採点と名前を付けた範囲は D7:D9とG7:G9(まずD7セルからD9セルを選択して、Ctrlキーを押しながらG7セルからG9セルを選択)だと判断したのだが 実際に名前を付けた範囲を教えてくれないか。 (ねむねむ) 2017/07/07(金) 15:09 ---- ねむねむさん おっしゃる通りです。 D7:D9とG7:G9のセルに・・・・・「採点」と名前をつけました。 (レモン1707) 2017/07/07(金) 16:08 ---- >D7:D9とG7:G9のセルに・・・・・「採点」と名前をつけました。 この状態で私の式で「この関数に対して、多すぎる引数が入っています」が出ることは無いと思うのだが。 すまないがエラー出た時の式をコピーしてそのまま掲示板に張り付けてみてもらえないか? (ねむねむ) 2017/07/07(金) 16:20 ---- ねむねむさん 教わった様に最初から関数を入れていきました。 =If(OR(INDEX(採点,,,1)<>"",INDEX(採点,,,2)<>""),SUM(採点),"")・・・・#VALUE!と出たので、数式バーの関数の最後にカーソルを立てて、shiftとctrlを押してenterで確定しましたら、{}に囲まれました。 解答欄に入力したり、入力前、間違った解答などを入れてみました。思い通りになりました。ありがとうございました。 教わった関数の意味を教えていただけませんか? INDEX(範囲,行番号,列番号)・・・・範囲は「採点」 「列番号」は,,,1と,,,2 行番号? <>""・・・空白以を取り出してSUMで合計、それ以外だったら(儀の時)は空白 よくわからないので教えていただけませんか? (レモン1707) 2017/07/07(金) 20:28 ---- >「採点」という名前定義が示している範囲には >=IF(C7="",""IF(C7="北海道",1,0))・・・・ だったら ↓ でいいのでは? =IF(COUNT(採点),SUM(採点),"")  普通にEnterだけで確定 ~~~~~ COUNTA ではなく COUNT ね。 (笑) 2017/07/07(金) 20:47 ---- 皆様 COUNT で 思い通りの関数になりました。ありがとうございました。 もう1つ count(採点)=0 ですが count(採点)=""・・・・ではどうしてダメなのでしょうか? 最後のお願いですが、教えていただけませんか? (レモン1707) 2017/07/07(金) 22:22 ---- >count(採点)=0 ですが count(採点)=""・・ではどうしてダメなのでしょうか? =IF(COUNT(採点)=0,"",SUM(採点)) にしたってこと? それはいいとして、COUNT(採点)="" にしたら「COUNT(採点) の結果が空白だったら」という意味になります。 どこか空いたセルに =COUNT(採点) という式を入れてみたらわかると思いますが、 この式が空白を返すことなんかありますか? COUNTは数値の個数を返す関数。 「採点」という範囲内に数値がひとつもなければ「0」になるし、あればその個数を返す。 つまりCOUNT関数が返すのは必ず「0以上の数値」です。 COUNT(採点)="" という条件が成立することはありえません。 ちなみに ↓ でも同じこと。 =IF(COUNT(採点)>0,SUM(採点),"") =IF(COUNT(採点),SUM(採点),"") 名前定義を使わない場合も、 =IF(COUNT(D7:D9,G7:G9)=0,"",SUM(D7:D9,G7:G9)) =IF(COUNT(D7:D9,G7:G9)>0,SUM(D7:D9,G7:G9),"") =IF(COUNT(D7:D9,G7:G9),SUM(D7:D9,G7:G9),"") 参考まで (笑) 2017/07/08(土) 09:27 ---- (笑)さん COUNT・・・カウントはただ数を数えるだけでなく、深い意味があるのですね。 採点計に入る関数、count を使った場合3通りもあるのですね。 いい勉強になりました。これからも宜しくお願い致します。 (レモン1707) 2017/07/08(土) 15:28 ---- INDEX関数の構文には2種類あり =INDEX(配列,行番号,列番号) と =INDEX(セル範囲,行番号,列番号,範囲番号) とになる。 下の方は指定したセル範囲が複数になる場合(今回のように)番号を指定することでそのうちのひとつだけを対象とする。 さらに行番号、列番号に0を指定(今回のように省略すると0を指定したことになる)すると範囲内の特定セルではなく範囲そのものを返す。 範囲が複数あるため比較がうまくいっていなかったものを範囲をひとつだけにすることで回避している。 (ねむねむ) 2017/07/08(土) 19:46 ---- ねむねむさん INDEX 関数、難しいです。 すっかり忘れていた関数です。見直してみました。 これら(COUNT, INDEX)の関数が意味するところをしっかりと理解していないとどの様な関数をたてればいいのか? 理解できませんね。 大変でしたがお陰様で、わかってきた気がします。 ありがとうございました。 これらも宜しくお願い致します。 (レモン1707) 2017/07/10(月) 16:25