2017-12-03 8 views
-1

私は数時間にわたってこれを頭で叩いていますが、私は間接的にいくつかの例を見ましたが、間違いなく私がしようとしているもの私が知らない理由は、それは動作していません。FIRTERの内部でINDIRECTを使用するとエラーが発生する

私は次のことをやろうとしている:

('Form Responses 1'!D2:D=TODAY())+(ISBLANK('Form Responses 1'!E2:E)=FALSE()) 

そして:

=FILTER('Form Responses 1'!D2:F, ('Form Responses 1'!D2:D=TODAY())+(ISBLANK('Form Responses 1'!E2:E)=FALSE())) 

しかし、私は2パートに分割したい、一つのセル(F1)は、第2引数が含まれています2番目のセルには次のような全式が含まれます:

=FILTER('Form Responses 1'!D2:F, INDIRECT(F1)) 

エラーは何ですか:

"FILTER has mismatched range sizes. Expected row count: 116. column count: 1. Actual row count: 1, column count: 1."

私はさらに説明するために写真を添付し​​ました。 []

ところで、奇妙な言語が

+0

写真F3によると、空白のセルです。 –

+0

あなたの権利はもちろんですが、質問を投稿する前に私は正しい値を使用しました。質問を投稿したときに気付かなかっただけです。 – deepGrave

答えて

1

短い答え

Googleのシートスプレッドシートエンジンは式のようにテキストを評価することができませんヘブライ語です。関連質問:Is there a way to evaluate a formula that is stored in a cell?

拡張答え

問題が=FILTER('Form Responses 1'!D2:F, INDIRECT(F3))であるとF3が空白のセルであるため、スクリーンショットによると、そうINDIRECT(F3)戻り、エラーの代わりに、必須の引数です。

それは代わりにF3で、あなたが含まれているF1使用することになります

('Form Responses 1'!D2:D=TODAY())+(ISBLANK('Form Responses 1'!E2:E)=FALSE())

を...しかし、それは形式のテキストを必要とする上記のテキストは、間接のための適切な引数ではありませんセルまたは範囲アドレス。

Googleスプレッドシートエンジンにはテキストを数式として評価する機能がありません。間接は、セルまたは範囲(複数のセル)参照のみを返すことができます。

+0

だから基本的にそれは不可能ですか? – deepGrave

+0

@deepGrave:Google Apps Scriptを使用することはできますが、それは「少し複雑」かもしれません。リンクされたQ&Aの私の[answer](https://stackoverflow.com/a/40733711/1595451)を参照してください。 –

関連する問題