Excelの数式から空のセルを返す必要がありますが、Excelでは空の文字列や空のセルへの参照は、真の空のセルとは異なる扱いになるようです。 ですから、基本的には次のようなものが必要です。
=IF(some_condition,EMPTY(),some_value)
私は次のようなことを試みました。
=IF(some_condition,"",some_value)
と
=IF(some_condition,,some_value)
であり、B1が空のセルであると仮定すると
=IF(some_condition,B1,some_value)
しかし、これらはどれも本当の空のセルではないように見えます。 何らかの条件が満たされた場合にのみセルを入力し、そうでない場合は真に空のセルを維持する方法はありませんか?
EDIT: 推奨されているように、私はNA()を返そうとしましたが、私の目的にはこれもうまくいきませんでした。 VBでこれを行う方法はありますか?
EDIT: 私は、他のワークシートからデータを取り込むワークシートを作っていますが、そのデータはデータベースにデータを取り込むアプリケーションの非常に特殊な要求に合わせてフォーマットされています。 私はこのアプリケーションの実装を変更する権限を持っていませんが、値が実際には空ではなく""の場合は失敗します。
Excelにはこのような方法はありません。
Excelのセル内の数式の結果は、数値、テキスト、論理(ブーリアン)、エラーのいずれかでなければなりません。数式のセルの値のタイプとして、"empty"や"blank"はありません。
NA()とISNA()を使うという方法もありますが、NA()は他の関数での扱いに大きな違いがあるので、問題が解決するかどうかはわかりません(SUM(NA())は#N/A、SUM(A1)はA1が空の場合は0)。
となると、VBA
を使うことになります。 範囲内のセルを繰り返し処理し、条件をテストして、一致したら内容を削除します。
こんな感じです。
For Each cell in SomeRange
If (cell.value = SomeTest) Then cell.ClearContents
Next