2017-09-14 13 views
2

で作業していない私は、この式を有する:平均間接的な式とブランク値

=IFERROR(
(
(
IFERROR(INDIRECT($A6&"!$E$15");"") 
+IFERROR(INDIRECT($A6&"!$E$29");"") 
+IFERROR(INDIRECT($A6&"!$E$43");"") 
+IFERROR(INDIRECT($A6&"!$E$57");"") 
+IFERROR(INDIRECT($A6&"!$E$71");"") 
+IFERROR(INDIRECT($A6&"!$E$84");"") 
) 
/6);"") 

これらIDIRECTSのいずれかが空白値を返すとき、私は#VALUEを入手!エラー(最初のIFERRORなし)。個々のラインはうまく動作し、個々にセルに入れると、それらを平均的に平均化することができます。しかし、この式の/ 6部分を削除して、AVERAGE式で線を折り返すと、#VALUE!エラー。

どうすればいいですか? (おかげMrig)見つかり

編集、解決

=IFERROR(
(
(
IF(ISNUMBER(INDIRECT($A7&"!$E$15"));INDIRECT($A7&"!$E$15");0) 
+IF(ISNUMBER(INDIRECT($A7&"!$E$29"));INDIRECT($A7&"!$E$29");0) 
+IF(ISNUMBER(INDIRECT($A7&"!$E$43"));INDIRECT($A7&"!$E$43");0) 
+IF(ISNUMBER(INDIRECT($A7&"!$E$57"));INDIRECT($A7&"!$E$57");0) 
+IF(ISNUMBER(INDIRECT($A7&"!$E$71"));INDIRECT($A7&"!$E$71");0) 
+IF(ISNUMBER(INDIRECT($A7&"!$E$84"));INDIRECT($A7&"!$E$84");0) 
)/ 
(
COUNTIF(INDIRECT($A7&"!$E$15");">=0") 
+COUNTIF(INDIRECT($A7&"!$E$29");">=0") 
+COUNTIF(INDIRECT($A7&"!$E$43");">=0") 
+COUNTIF(INDIRECT($A7&"!$E$57");">=0") 
+COUNTIF(INDIRECT($A7&"!$E$71");">=0") 
+COUNTIF(INDIRECT($A7&"!$E$82");">=0") 
) 
);"") 

COUNTIFのbasciallyオリジナルコードの数字 "6" を置き換え、「にISN INSNUMERの(代わりIFERROR者の)のチェックtブランクになるので、0%以上の値(実際の値)が実際の平均値になるように数えられます。

+1

'" "'の代わりに、内部エラーで '0'を返すようにしてください –

+0

また、あなたが間接的に参照しているセルにテキストがないことを確認してください。 –

答えて

4

コメントに上記の提案を使用して、あなたの代わりにIFERROR()

=IFERROR(
(
(
IF(ISNUMBER(INDIRECT($A6&"!$E$15"));INDIRECT($A6&"!$E$15");0) 
+IF(ISNUMBER(INDIRECT($A6&"!$E$29"));INDIRECT($A6&"!$E$29");0) 
+IF(ISNUMBER(INDIRECT($A6&"!$E$43"));INDIRECT($A6&"!$E$43");0) 
+IF(ISNUMBER(INDIRECT($A6&"!$E$57"));INDIRECT($A6&"!$E$57");0) 
+IF(ISNUMBER(INDIRECT($A6&"!$E$71"));INDIRECT($A6&"!$E$71");0) 
+IF(ISNUMBER(INDIRECT($A6&"!$E$84"));INDIRECT($A6&"!$E$84");0) 
)/6);"") 
+0

ありがとう!これはちゃんと動作しますが、空白ではなく0%以上のISNUMERの数に6を加える方法を見つけなければなりませんでした。元の投稿に最終コードを投稿する –

3

IF(ISNUMBER())を使用することができます私はあなたの「ふらつき」はので、私は、この配列数式と一緒に行った14行だったことを考え始めました:

=AVERAGE(IF(MOD(ROW(E15:E84), 14)=1, IF(ISNUMBER(INDIRECT($A6&"!E15:E84")), INDIRECT($A6&"!E15:E84")))) 

...しかし、あなたの '邪魔者'は一貫した14行ではありません。最後に隙間がので、私はこれを13行修飾される:

=AVERAGE(IF(ROW(15:84)={15,29,43,57,71,84}, IF(ISNUMBER(INDIRECT($A6&"!E15:E84")), INDIRECT($A6&"!E15:E84")))) 

をテキスト値を破棄しながら、空白セルにゼロ置換することなく、真の平均を生成すること。