尝试使用C#Windows应用程序将公式添加到Excel输出中的列。但是你的名字呢?错误

尝试使用C#Windows应用程序将公式添加到Excel输出中的列。但是你的名字呢?错误,excel,excel-formula,Excel,Excel Formula,我正在使用Windows应用程序将数据导出到Excel中。在最后一列中指定了以下公式 =IFNA(IF(VLOOKUP(CONCAT(S2,T2),'data table'!$C:$C,1,0)=CONCAT(S2,T2),"Yes"),"No") 。excel已具有“数据表”工作表。我在Excel列中得到了公式输出,但它显示的是#NAME?错误。当我双击单元格然后退出单元格时,公式的值就来了。不知道为什么我在没有手动双击单元格的情况下无法获取值 当我从应用程序导出时,请有人帮助我获取公式的值

我正在使用Windows应用程序将数据导出到Excel中。在最后一列中指定了以下公式

=IFNA(IF(VLOOKUP(CONCAT(S2,T2),'data table'!$C:$C,1,0)=CONCAT(S2,T2),"Yes"),"No")
。excel已具有“数据表”工作表。我在Excel列中得到了公式输出,但它显示的是#NAME?错误。当我双击单元格然后退出单元格时,公式的值就来了。不知道为什么我在没有手动双击单元格的情况下无法获取值

当我从应用程序导出时,请有人帮助我获取公式的值。 提前谢谢

尝试以下操作:

=IFNA(IF(VLOOKUP(CONCATENATE(C2;D2);'data table'!A:A;1;0)=CONCATENATE(C2;D2);"Yes");"No")

我一直在使用Excel 2013,并且工作正常。

我使用c#code:lrow=Ws.LastRowUsed.RowNumber()为Excel单元格分配了公式,如下所示,用于n=1到lrow-1 StrFormula=“=IFNA(如果(VLOOKUP)(CONCAT(S)¤tRow&“,T”¤tRow&“,'datatable'!$c:$c,1,0)=CONCAT(S)¤tRow&“、T”¤tRow&“、”是“、”否“)”Ws.Cells(“AK”¤tRow)。公式A1=StrFormula currentRow=currentRow+1下一步我认为它可能需要连接,为什么不试试匹配呢?VLOOKUP的目的是返回相邻的列,匹配是一个更好的方法。我正在使用另一个名为“数据表”的工作表进行VLOOKUP。是的,您仍然可以使用
match
countif等,使用VLOOKUP似乎效率低下。看看match函数,看看我的意思。另外,我不相信你的ISNA是正确的,这需要围绕查找,而不是平等性检查。类似于
if(isna(值、数据、列)),“Yes”、“No”)
我已经试过了;而不是,正如您所建议的,在打开输出excel时抛出错误