列に「#N / A」が含まれている場合のスプレッドシートデータの合計


10

ゴーグルスプレッドシートを使用して過去の株価データを処理し、Google関数(=googlefinance=…)を使用して株価の過去の終値をインポートしてから、そのデータをさらに処理します。ただし、=googlefinance=…関数から生成されたデータのリストでは、金額の1つがとして表示され#N/Aます。なぜなのかはわかりませんが、いろいろなシンボルで試してみました。

N/A行を含む配列でmax関数を使用すると、max関数は以外のものを考え出さないN/Aので、N/A他の関数はスローされます。私はそれを与えることが可能なインポートされたデータの右側にある2番目の列を作成しようと思いましIF機能、のようなものを、If ((A1 <0), "0", A1)それが戻ってくることを期待して、0セルならばA1があるN/Aそうでない場合、およびセルの値N/A。ただし、これはまだを返しますN/A。私もIS BLANK関数を試しましたが、同じ結果になりましたNA

N/A私が操作しようとしている一連の数値からを排除する回避策についての提案はありますか?


タイトルは「まとめ」ですが、「配列にmax関数を使用すると…」と表示されます。それらのうちの1つだけが正しい場合があります:)
tanius

回答:


9

これに遭遇した後、私はこれをいじくり回してこれがうまく機能することを発見しました:

=sumif(A1:A20,"<>0")

これは、範囲内に無効な値がある場合でも機能します


6
=sumif(A1:A20,"<>#N/A")最近のはずですが、詳細については私の回答を参照してください。
タニアス

4

を含む可能性のある値を合計するには#N/A、次の式を使用します。

=sumif(A1:A20,"<>#N/A")

詳細:以前のバージョンのGoogleスプレッドシートで=sumif(A1:A20,"<>0")、Lockzmith回答のように代わりに使用できたようです。ただし、Googleスプレッドシートではが考慮される#N/A<>0ため、機能しなくなり、#N/A合計の一部がである場合は返され#N/Aます。とにかく、これが今日機能する新しい方法です。


3

isna(value)関数を使用して、googlefinanceが戻るかどうかをテストできますN/Aif関数でそれを使用して、N/A返された場合は何でも出力できます。

例えば:

=if(isna(googlefinance("DoesNotExist"; "price"),"NA returned",googlefinance("DoesNotExist"; "price")))

またはこの例:

ColA

CCLXXX
=googlefinance(A1; "price")
=if(isna(A2,"Not avail",A2))

これisnaは、Googleスプレッドシートでの作業のスクリーンショットです。

ここに画像の説明を入力してください


1

値が列Aにあり、一部にN / Aエラーが含まれているとしましょう。これを列Bに入れます。

=if(isna(A1),0,A1)

列Aにエラーがある場合は0を使用し、それ以外の場合はAの値を使用します。列Bでmaxなどを実行できます。


iserr動作しませんでしたgooglefinanceが、私のためにisna仕事をしました。これを自分で試しましたか?

iserrエラーが発生しても動作するはずです。googlefinanceでテストして一致することを確認することはできませんでしたisnaが、同じように適切です。
ポール、

の問題iserrは、それがn/aエラーと見なされないことです。両方を示す私の答えを参照してください。

@HeatfanJohnああそうです。ありがとう、修正しました。
ポール

0

してみてください:

=ArrayFormula(max(if(not(iserror(A:A)),A:A)))

0

昨日この問題に遭遇しました。最終的に、元のスプレッドシートで参照していた私のデータ範囲には、数値だけでなく、いくつかのエラーコードが含まれていることがわかりました。

参照しているスプレッドシートの範囲内のセル(たとえばのA1:A100部分IMPORTRANGE("SpreadsheetURL","SheetName!A1:A100"))に次のようなエラーが含まれている場合

#NULL!
#DIV/0!
#VALUE!
#REF!
#NAME?
#NUM!
#N/A

次に、数式SUMIF()を次のように変更する必要があります

=SUMIF(IMPORTRANGE("SpreadsheetURL","SheetName!A1:A100"), ">0")

これにより、実際の数値のみが追加され、エラーコード(追加のエラーがスローされるだけ)ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.