我有以下的功能,在我的查詢創建一個列:IIF(ISERROR())函數返回仍然#ERROR
MTD:IIF(ISERROR(FormatNumber([62XX] [F40])),0! ,FormatNumber([62xx]![F40]))
這與Excel文件相關聯,並且人們將數字和文本放在同一列(本例中爲F40)。我需要知道我正在看的東西是數字還是文字。如果它是文本我想要一個零,如果它是一個數字我想要的數字。我知道當我在文本行上使用FormatNumber([C107_62xx]![F40])時,出現錯誤。我會假設,當我得到一個錯誤,然後我上面的iif公式將它轉換爲零,世界會高興。出於某種原因,即使使用我的iif語句,我仍然得到#error。我究竟做錯了什麼?
我也試過使用IsNumeric函數,但我仍然得到#NUM!通過的錯誤。
我不明白爲什麼ISERROR沒有做什麼,我想這樣做,但我也嘗試你的建議。由於某種原因IsNumeric不太可靠。我不喜歡從peple做瘋狂的東西的電子表格中提取數據。這似乎工作雖然: 'IIf(IsNumeric(FormatNumber([62xx]![F40])),FormatNumber([62xx]![F40]),0)' – Nigel
有時Excel和Access不會像我希望他們。謝謝@HansUp的幫助。 – Nigel
是的,關於第一部分...... IsError()不能用來捕獲錯誤,只告訴你是否有錯誤值。例如,除以零觸發錯誤#11,「除以零」。但是'IsError(1/0)'不會說真;相反,它會觸發錯誤#11。 「IsError(11)」說錯了。實際的錯誤值是不同類型的生物。而'IsError(CVErr(11))'確實返回True。 – HansUp