=CONCATENATE( "Level3!$B", MATCH($B6,Level31!$A:$A,0),":$B", COUNTIF(Level31!$A:$A,$B6) + MATCH($B6,Level31!$A:$A,0)-1)
我在 excel 单元格中有这个公式。我正在通过 C# 代码复制粘贴到下面的所有行中。到这里都很好。
问题在于,在此公式中,Level3
是重命名为 Level31
的工作表名称。这种变化在三个地方自动反射(reflect)在公式中,而不是首先..为什么
在单元格中手动更新公式后,它工作正常。
第二个问题在下一个单元格
实现另一个公式的地方。当我打开工作表时,它显示 #N/A
但是当我点击单元格并按下回车键时。它开始工作..
有人可以指导我吗?
最佳答案
如果您将第一个位置称为 =CONCATENATE( "Level3!$B",
,该值将存储为字符串,不会自动从 3 调整到 31。试试这个公式 =CONCATENATE(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)&"!$B", MATCH($B6,Level31!$A: $A,0),":$B", COUNTIF(Level31!$A:$A,$B6) + MATCH($B6,Level31!$A:$A,0)-1)
公式 MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)
使您的第一个位置也是动态的。
关于c# - Excel 单元格公式正在使用工作表名称更新。从 ASP.NET 导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46189935/