あるシートの数式で、別のシートのセルの内容を間接的に参照して #VALUE を返す

あるシートの数式で、別のシートのセルの内容を間接的に参照して #VALUE を返す

Excel 2010。Sheet1 の数式:セルで参照されているセルまでの範囲内の=COUNTIF($D$9:INDIRECT($D$7),"qa")テキストを含むセルの数を返します。 qa$D$9&D$7

ただし、数式を別のシートに移動し、元のシートを参照するように調整すると、#VALUE エラーが返されます。新しい数式は です=COUNTIF('Sheet2'!$D$9:INDIRECT('Sheet2'!$D$7),"qa")。誰か助けてくれませんか?

答え1

次のように試してください:

=COUNTIF(INDIRECT("'sheet2'!$D$9:"&'Sheet2'!$D$7),"qa")

答え2

Sheet2!D7たとえば が含まれている場合D42、数式の評価は次のように進行します。

    =COUNTIF('Sheet2'!$D$9:INDIRECT('Sheet2'!$D$7),"qa")

→ =COUNTIF('Sheet2'!$D$9:INDIRECT("D42"),"qa")

→ =COUNTIF('Sheet2'!$D$9:$D$42,"qa")

しかし、これは誤解を招きます。これは と入力することと同じではありません'Sheet2'!$D$9:$D$42。むしろ は$D$42独立して生成されるため、セルを参照していると解釈されます。D42 現在のシート – そして、当然ながら、無効な範囲になります。範囲に対処するには'Sheet2'!$D$9:$D$42、数式を次のように変更します。

    =COUNTIF(Sheet2!$D$9:INDIRECT("Sheet2!"&Sheet2!$D$7),"qa")

これは次のように評価されます

→ =COUNTIF(Sheet2!$D$9:INDIRECT("Sheet2!"&"D42"),"qa")

→ =COUNTIF(Sheet2!$D$9:INDIRECT("Sheet2!D42"),"qa")

→ =COUNTIF(Sheet2!$D$9:Sheet2!$D$42,"qa")

→ =COUNTIF(Sheet2!$D$9:$D$42,"qa")

または、Barry のより経済的なバージョンを使用してください。

'Sheet2' PSシート名にスペースやその他の特殊文字が含まれていない限り、引用符は必要ないようです。

関連情報