具有多个if条件的ISERROR

时间:2016-08-10 05:39:42

标签: excel error-handling excel-formula conditional-statements

如果单元格A1为负数或错误,我想放Y.我想把N放在其他地方。但这个公式不起作用:

if(OR(ISERROR(A1),A1<0),"Y","N")

还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

如果第一部分为真,Excel将独立评估OR表达式的两个部分。因此,如果A1<0包含错误,OR以及A1函数会导致错误。

你可以尝试这样的事情:

IF(ISERROR(A1),"Y",IF(A1<0,"Y","N"))

答案 1 :(得分:1)

较新的¹IFERROR function可以通过在遇到错误时提供默认响应来缩短您的多个布尔条件。

CCheckBoxUI *pCbSwitch = static_cast<CCheckBoxUI*> (pItem->FindSubControl(_T("switch")));
    ASSERT(pCbSwitch && "Failed to find contronl");
    if (pCbSwitch == nullptr)
    {
        MessageBox(NULL, _T("Failed to find contronl"), _T("tip"), 0);
        exit(-1);
    }

当A1出现任何错误(例如=IF(IFERROR(A1<0, TRUE), "Y", "N") A1<0等)时尝试解决#DIV/0!将导致错误,并且TRUE将返回到IF。当A1不是错误时,#N/A将被解析为布尔结果。

a1lessthanerror

¹ {2007}引入了IFERROR function。它在早期版本中不可用。