• ベストアンサー

エクセル:バグという名の仕様?

piyottyの回答

  • piyotty
  • ベストアンサー率44% (62/138)
回答No.11

こんばんは、piyottyです。 Wendy02さんの回答を拝見して、=SIGN(A1:A9)をどのセルに入力するかが重要であるということに漸く思いが至りました。 私の場合、判定データをA1セルからA9セルに記述し、常にA10セルに=SIGN(A1:A9)を入力していたため、引数が「範囲」として識別され、エラー値#VALUE!が戻されていたようです。 試しにB1セルに=SIGN(A1:A9)を入力してみると、引数を「実数」として認識しているらしく、確かに正しい結果が戻ります。 #企業実務でこういう式を作ると曖昧さが入るので怒られますが。 ただ、B1セルに=COUNTIF(SIGN(A1:A9),1) を入力しても、A10に=COUNTIF(SIGN(A1:A9),1)を入力しても、ネストしているSIGN(A1:A9)が、配列を戻しているため、エラーが発生し、式を確定させることができないようです。 これが、Wendy02さんが#10でお書きいただいた「COUNTIFの引数(範囲)は配列を取れない」という件だと思います。 (以上のことは、本日、Excelで実際にデータを入力し、式を入力後、Fxアイコンで「関数の引数」ダイアログボックスを表示させて、関数の実行結果を確認した結果を記述しております) 配列全体の正負を解釈しているのでは?という私の推測が間違っていたことをお詫び致します。 Wendy02さんの回答を拝見して、Excelは「セル範囲」も「リスト」も「配列」も同じ表現方法(対象の開始セルのアドレスと終了セルのアドレスを:で区切る)をとることが可能なので、混乱しやすいのでは?と思いました。 「セル範囲」も「リスト」も「配列」も別オブジェクトとして扱われるにもかかわらず、式をみただけではどのオブジェクトとして認識されているかわからない。(VBAなら、変数宣言で明示してあれば混乱しませんが) Variant型の自由度の高さが裏目に出ているのではないかと思います。

Nouble
質問者

お礼

piyottyさん まず謝罪させてください 旅先で確認したのですが 改めて検証すると 確かにエラー表示されていました 申し訳ありません。 このエラーが計算についてものでないために 私このエラーを無意識に読み替えてしまってました 陳謝

関連するQ&A

  • Excelの関数「COUNTIF」について

    =COUNTIF(A1:B50,"<=○○") ○○のところは指定のセルから引っ張ってくることは不可能なのでしょうか? 例えばC1が100として =COUNTIF(A1:B50,"<=100")   だと、ちゃんとカウントしてくれるんですが =COUNTIF(A1:B50,"<=C1") だと、A1:B50に100以下の数値が何個あっても0になってしまいます。 「""」で囲っているからだと思うんですが、 「""」を外すと、入力した数式は正しくありませんと警告がでます。 どう入力すれば検索条件をセルから引っ張ってくることができるのでしょうか? どなたか分かる方、知恵をお貸し下さい。 よろしくお願いいたします。

  • エクセル関数 Vlookupと配列数式(とsumif)の違い、利点不利点

    以下のような設定でvlookupと配列数式とifを組み合わせた場合の結果が異なる(ことがある?)んですが、原因を教えていただけないでしょうか。あと、配列数式のここが便利!(このvlookupの類似機能に限ったことではない)というものがあれば付随して教えてくださると助かります。 A1:A3 に順に1,2,3と(参照される側の)インデックスが入力されている。 B1:B3 はa,b,cと文字が入力されている C1:C3 には2,2,3と(参照する側の)インデックスが入力されている。 C列のインデックスにより、A列のインデックスに対応するB列の文字列を引いてきたいとき、普通はvlookupで、 <セルD1>=vlookup(C1,A1:B3,2,0)などとすると思います。 これを配列数式を用いて、 <セルD1:D3>= if(C1:C3=A1:A3,B1:B3,0) として同じことをしようとしても、何故かD1セルのみ=0となってしまいます。何故でしょうか?配列数式にそれほどくわしくありませんが、利用価値が非常に高そうなのでわからないことを解明したいのです。 (sumifもタイトルにいれたのは、B1:B3が文字列ではなく数値ならば、同じことをsumifで表現できるから、それだけの理由です) 宜しくお願いします。

  • エクセルのバグですか

    エクセルで数式を使っていて、一つのセルだけ異常な数値が出ます。 下記のような結果が出ますが、こういう現象はあるのでしょうか? 例) セル(内容) : 値(画面表示) A1(=SUM(B2:B79) :11.4000000000000000000000000000 A2(手入力 11.4) :11.4000000000000000000000000000 A3(=A1-A2) : △ 0.0000000000000142108547152020 ※ちなみに(B2:B79)も小数点以下は第一位までしか入力してません。

  • 【エクセル】離れたセルのCOUNTIF関数

    こんにちは。 エクセルのCOUNTIF関数についての質問です。 各セルに以下のような数値が入っている表で・・・  A=10  B=00  C=20   D=30   E=00   F=40   G=50  AとCとEとGのセルを選択し、0以外のセルの個数を数えるとき COUNTIF関数で =COUNTIF(A,C,E,G,"<>0") という数式を立てたのですが、エラーとなってしまいました。 最終的には =((COUNTIF(A,"<>0")+(COUNTIF(C,"<>0")+(COUNTIF(E,"<>0")+((COUNTIF(G,"<>0")) という数式をたてて計算は出来たのですが、もっと簡単(?)な式はあったりするのでしょうか? ご存知の方がいらっしゃいましたら是非お教え下さい。

  • エクセル数式・等間隔ごとの範囲にしたい

    INDEXやCOUNTIFとかの範囲のを等間隔のセルに設定したいのですが出来ますでしょか? 例えば、範囲をセルA1,A11,A21…A1001などとして設定するとかを 他の数式を加えて表せませんか offsetを使えば範囲を任意の位置に変えることが出来ますけど そんな感じに出来ませんか?

  • エクセルの配列数式、配列定数について教えてください

    エクセルに配列数式、配列定数というものがあることを最近知りました。 エクセルのA1セルに={1,3,3}と入力し、A2セルに=COUNTIF(A1,{1,2,3})と入力すると、 A2セルに1と表示されます。A2には1以外の数字が含まれることは何となく理解できるのですが、どのような計算結果が算出されるのかが理解できません。また、A2の1以外の計算結果を表示させる方法がわかりません。 同様に、A1セルに={1,2,2,3}と入力し、A2セルに=COUNTIF(A1,{1,2,3})と入力した場合(これもA2セルに1と表示されます)のA2の計算結果と表示方法がわかりません。 ご教示をよろしくお願いいたします。

  • エクセルで

    =COUNTIF(M5:DP5,">=37530")-COUNTIF(M5:DP5,">=37895") とM:DPで年度内の日付の個数を求めています。 数式自体は5列目から200列目ぐらいあります。 『37530』は2002/10/1の『37895』は2003/10/1のことです。 本題です、37530と37895を毎年変えなければならないのを何とかしたいのです。 一つ考えたのはセルA1に2002/10/1とセルA2に2003/10/1とし=COUNTIF(M5:DP5,">=A1")-COUNTIF(M5:DP5,">=A2")とすればA1・2だけを変えればいいだけなのですが、COUNTIFはできないみたいです。

  • エクセル #value! について難問

    A1セルに2、A2セルに3と入れてB1セルに="合計"&A1*A2と入力すると普通は、B1に合計6と表示されますよね。 会社の人から貰ったエクセルデータで上記のようにやろうとしても#VALUE!と表示されてしまいます。どこのセルでやっても同じです。表示形式は標準になっています。 試しに上手くいかないほうの数式バーをコピーして新規のエクセルでやってみると正しく表示されます。 どなたか原因が分かる方がいましたらご教授ください。

  • エクセル関数ランキングに関してです><

    いつもお世話になります。 さっそくですが質問させて頂きますので ご教授の方よろしくお願い致します。   A  B 1 梅 2 柿 3 梨 4 梅 5 梅 6 梨 7 柿 とあります。 前回の問 B1のセルにA列のランキングNo.1の名称を求めるには? (B1に梅がくれば正解) 回答を以下のように頂きました(ありがとうございました) =INDEX(A1:A10,MATCH(MAX(COUNTIF(A1:A10,A1:A10)),INDEX(COUNTIF(A1:A10,A1:A10),),0)) 入力完了時にshift+ctrl+enterキー 今回の問. ランキング2位を求める為にはどういった数式になりますでしょうか?

  • 配列数式を用いたエクセルマクロの使い方

    セルA1に「=SUM((A1:A12=5)*(B1:B12=""A"")*C1:C12)」という風に数式を表示形式を文字列として入れておき、他のセルに、この計算結果を入れるたいのですが、マクロでどのようにすればいいか、ご存知のかたがいらっしゃいましたら教えてください。 ちなみに、使用したい数式(セルA1に入れているもの)は配列数式です。