2016-06-17 8 views
0

私は、50枚程度のシートから間接関数を使用してデータ(60-80値/シート)を収集する中程度のサイズの値行列を持っています。例としてExcel間接は連結値を認識しませんか?

=IFERROR(INDIRECT($C4&N$1);0) 

において:

$C4 =連結値(シート名)。 CONCATENATEを使用する理由は、値はサービスプロバイダーとサイトの両方のIDの組み合わせです。これらは別のシートのデータ検証リストからのものです。

問題から値を取得するために、シート内のセルに

N$1参照INDIRECT -functionが連結した値を認識していないようだということです。

状況が次のとおりであり、Cがシート​​名と一致する連結値である場合、INDIRECTIFERRORに従って値0を与えます。

| | B | C | | ISS | HT | ISSHT |

A =サービスプロバイダ

B =サイト名今はISSHTが同じINDIRECT式-formulaないCONCANATEプレーンテキストにシートに一致するから正しい値を返すように変更した場合

Excelでセルのデータ型を変更しても、最終結果には影響しません。

これを解決するためのあらゆるアイデアや助けがありがとうございます。

+0

excel 2010以降を使用している場合は、 'ADDRESS()'を試してみてください。 'indirect()'で使用する正しい文字列を生成するようにシートの名前を指定することができます。 – Rosetta

+0

あなたの問題は、 'CONCATENATE'関数または連結演算子が'間接 'の内部で違法である(または問題がある)こととは関係ありません。問題は、連結で作成している文字列が有効な参照ではないことです。作成される実際の文字列は何ですか?デバッグの目的は、セル内に '$ C4&N $ 1'を単独で持ち、参照してください。 –

+0

フィードバックありがとうございます。私の現在の制限されたExcelの経験で、非常に愚かなここに感じているが...もし間違った数式と$ C4&N $ 1をチェックすれば、私はISSHTを与える! J19(マッチするシート名とセルアドレス)になっていますか? $ C4をプレーンテキストISSHTに変更すると、値は同じように見えますが、このISSHT!J19のような感嘆符の後にスペース(?)がないようです。 –

答えて

0

Address()を参照すると、文字列内の参照を正しく生成できます。

enter image description here

か、上のスクリーンショットからの違いに気付きます。

  • シート名に「スペース」が含まれている場合、その名前は文字列の中に'で囲む必要があります。
  • シート名に 'space'が含まれていない場合は、その名前を'で囲む必要はありません。

あなたがAddress()を使用したくないのであれば、あなたは「スペース」で確認してくださいシート名を作成する必要があり、参照文字列を'で囲んであります。

+0

オプションのソリューションをお寄せいただきありがとうございますが、サイトIDのシンプルな入力ミスになりました。 –

関連する問題