Excel - 错误列一个单元格中的多个错误

时间:2017-06-15 01:37:00

标签: excel

我正在创建一个powershell脚本,通过标准化的Excel电子表格将数据上传到SQL Server。我想在excel电子表格中进行一些错误检查,这样如果链接不正确,我可以把它全部放回填写电子表格的用户身上。

此处的示例是excel电子表格公司部分的一部分:

enter image description here

此错误指的是经理人列表栏(D2),它在经理上传表格中不存在:

enter image description here

以上是使用以下公式:

=IF(COUNTIF('Manager'!$A$2:$A$1048576, [@[Manager Pin]])>0, "", "Manager Pin Does Not Exist")

我想要的是根据字段返回多个错误,每个字段之间有换行符分隔符,因此在图像1中,如果管理员PIN和公司PIN都不存在,那么错误(A2)中的结果将是是:

enter image description here

这样我可以排除任何导入,其中错误部分在SQL方面不为空。

---------按位错误集:

作为3个可能错误的按位错误集的示例:

0 - No errors
1 - Manager pin not valid
2 - Company pin not valid
3 - Manager pin not valid
    Company pin not valid
4 - Company name is null - required field
5 - Manager pin not valid
    Company name is null - required field
6 - Company pin not valid
    Company name is null - required field
7 - Manager pin not valid
    Company pin not valid
    Company name is null - required field

因此,上述错误将在电子表格中的单独工作表上创建。然后我可以在电子表格中创建一个计算错误代码的隐藏列。之后,我应该做的就是根据隐藏列中的错误代码引用ERRORS列中的错误代码。

2 个答案:

答案 0 :(得分:1)

您可以连接两个单独的类似检查的结果。假设您有一张Company张,其中Manager张的布局类似:

=IF(COUNTIF(Manager!$A$2:$A$1048576, [@[Manager Pin]])>0,
     "", "Manager Pin Does Not Exist")
& IF(COUNTIF(Company!$A$2:$A$1048576, [@[Company Pin]])>0,
     "", CHAR(10)&"Company Pin Does Not Exist")

顺便说一句,为什么要使用$A$2:$A$1048576而不仅仅是A:A?如果你在serched表中有一个标题行无论如何都不匹配,那么让我们简化它。

=IF(COUNTIF(Manager!A:A, [@[Manager Pin]])>0, "", "Manager Pin Does Not Exist")
& IF(COUNTIF(Company!A:A, [@[Company Pin]])>0, "", CHAR(10)&"Company Pin Does Not Exist")

MATCH替代方案:

=IF(ISNUMBER(MATCH([@[Manager Pin]], Manager!A:A,0)), "", "Manager Pin Does Not Exist")
& IF(ISNUMBER(MATCH([@[Company Pin]], Company!A:A,0)), "", CHAR(10)&"Company Pin Does Not Exist")

答案 1 :(得分:1)

如果您有权访问TEXTJOIN function(Excel 2016+),则可以按换行符加入:

= TEXTJOIN( CHAR(10), TRUE, IF(...), IF(...) )