0

データがさまざまなシートに自動的に入力される Excel ファイルがあります。他のシートの重要な情報を表示する新しいシートを開発しようとしています。シートのほとんどのセルを完成させましたが、2 つのセルで問題が発生しています。問題は、VLOOKUPS/ISERROR と VLOOKUPS/ISERROR を使用していることです。私の問題は、組み合わせて結果をもたらさない個別の回答を作成する場合です。VLOOKUPS/ISERROR ステートメントの 1 つまたは両方が false の場合に " # VALUE! " が表示されないようにする方法があったかどうかを知りたいです。

以下は、セルに使用している数式のコピーです。その下は、受け取るデータの例です。

=IF(ISERROR(VLOOKUP(22, ChargingData!$B$31:$I$41,2, FALSE)),"",VLOOKUP(22, ChargingData!$B$31:$I$41,2, FALSE)/2000) + IF(ISERROR(VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)),"",VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)/2000)

=IF(ISERROR(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE)),"",VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE)/2000) + IF(ISERROR(VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)),"",VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)/2000)

表データ

33  65456            868931           654964             989872
23          65685    456331           6568     789911    65464
22          35468             84213   654987             633314

テーブルに「# VALUE!」が表示されないようにするのを誰かが手伝ってくれるかどうか疑問に思っていました。メッセージ。そのメッセージの代わりに、どのセルにも何もない場合は「」を表示し、必要なセルのいずれかにデータがある場合は正しい情報を表示したいと思います。ありがとう

4

3 に答える 3

0

これを試してください(括弧が少しずれている可能性があります):

=IF(Or(ISERROR(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE),ISERROR(VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE))),"",(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE)/2000) + (VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)/2000)))

それを分解するには:

いずれかの vLookups がエラーの場合

=IF(Or(ISERROR(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE),ISERROR(VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)))

空白を返す

,"",

それ以外の場合は、最初の Vlookup / 2000 + 2 番目の Vlookup / 2000 を返します。

(VLOOKUP(23, ChargingData!$B$31:$I$41,2, FALSE)/2000) + (VLOOKUP(33, ChargingData!$B$31:$I$41,2, FALSE)/2000)))
于 2012-06-25T19:49:52.093 に答える
0

たまたま、データがどのように入ってくるかについて気づきました。どういうわけか、データは汎用文字ではなく文字列文字で入ってくるため、VLOOKUP の先頭に "" があります。Barry Houdini からのアドバイスを受けて、VLOOKUP テーブルが空または見つからない場合に VLOOKUP が 0 を返すように、戻り値 "" を置き換えました。0 を返す場合に空白を表示するために、追加の IF ステートメントを追加しました。

以下は、セルに使用している新しい関数です。

=IF(IF(ISERROR(VLOOKUP("23", ChargingData!$B$31:$I$41,2, FALSE)),0,VLOOKUP("23", ChargingData!$B$31:$I$41,2, FALSE) )/2000)+ IF(ISERROR(VLOOKUP("33", ChargingData!$B$31:$I$41,2, FALSE)),0,VLOOKUP("33", ChargingData!$B$31:$I$41,2 , FALSE)/2000)<>0,IF(ISERROR(VLOOKUP("23", ChargingData!$B$31:$I$41,2, FALSE)),0,VLOOKUP("23", ChargingData!$B$31: $I$41,2, FALSE)/2000)+ IF(ISERROR(VLOOKUP("33", ChargingData!$B$31:$I$41,2, FALSE)),0,VLOOKUP("33", ChargingData!$B $31:$I$41,2, FALSE)/2000),"")

于 2012-06-27T13:26:15.933 に答える