作業中のExcelファイルがあります。数値とテキストを含む列があり、場合によってはどちらか一方だけになることがあります。セルの左端をスキャンして、数字で始まるかどうかを確認する関数を記述しようとしています。私はそれを持っていると思ったが、どうやら持っていなかった。これは私が持っていたものです:
=IF(ISNUMBER(LEFT(E8,1)), "True", "False")
その特定のセルE8が「3」で始まる場合でも、これは引き続き「偽」の結果をスローします。ここで何が欠けていますか?
これを試してください:
=IF(ISNUMBER(VALUE(LEFT(E8,1))),"True","False")
IFステートメントの使用は冗長です。希望する結果を達成する最も簡単で効果的な方法は次のとおりです。
=ISNUMBER(--LEFT(E8,1))
自動的にTRUEまたはFALSEを返します
以下を実行するだけで、必要なことを実現できることに注意してください。
_=NOT(ISERROR(LEFT(E8)*1))
_
しない場合はLEFT(E8)
はLEFT(E8,1)
と評価され、1を掛けると数値以外のエラーがスローされます
文字列として出力が必要な場合は、以下のように更新します。
_IF(NOT(ISERROR(LEFT(E8)*1)),"True","False")
_
[〜#〜]編集[〜#〜]
ISNUMBER()
を使用することは、NOT(ISERROR())
に代わる優れた方法です。
_=ISNUMBER(LEFT(A1)*1)
=IF(ISNUMBER(LEFT(A1)*1),"True","False")
_
=IFERROR(IF(VALUE(LEFT(E8,1)),"TRUE","FALSE"),"FALSE")