• ベストアンサー

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

piyottyの回答

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

Excel使用歴は長いのですが、数学に弱いため、見当違いの回答をしているようでしたら申し訳ございません、と先にお詫びしておきます。 SIGN関数がとれる引数は、数値のみ(数値リストではない)だからではないでしょうか。 (#VALUEになるのは、戻り値が一意に決まらないからでは?) このように、1つ1つのセルの判定結果を集計するなら、配列数式ではなくデータベース関数を利用するべき、とExcel側で想定しているのではないかと思います。 リスト内から条件を満たすデータの個数を数える、というのであれば (1)対象のデータをリストとして体裁を整え (2)Criteriaを用意してやり (3)データベース関数DCOUNTで個数判定を行う としてやれば、作業列を設けなくても集計できるのでは、と思います。

Nouble
質問者

お礼

お心使い感謝いたします SIGN関数が複数の引数を判定できないのでは? とのことですが 取り敢えず私の環境下では何の問題もないようですよ そちらの環境では如何でしょうか? 適当に縦に9個ほどセルを選択し 一番上が白くなっているところで数式バーに =SIGN(A1:A9) と、入れ、「Shift」+「Control」+「Enter」 で確定してみたところ、数値が現れました もう一点ですが データベース関数はCriteriaを配列で指定できないようなので 私も是非使いたいとは、かねがね感じてはいるのですが 未だ活用できていません。 数式内でセル範囲に仮の名前付けができれば 使えるのかも知れませんね 取り敢えず今は私の力量では データベース関数に魅力を感じているものの 配列数式内に散り込めていないのが現状です (~ ~;)ヾ 何はともあれご配慮に感謝致します <(_ _)>

関連する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に入れているもの)は配列数式です。