gpt4 book ai didi

Excel 使用公式返回表名称?

转载 作者:行者123 更新时间:2023-12-02 07:30:08 30 4
gpt4 key购买 nike

我想知道是否有办法使用公式返回表的名称?

我正在研究一种方法,将数千个地址分解为透视信息列。即..#、街道、城市、州、邮政编码和电话#。地址的格式与文本到列的工作格式不一致。我终于想出了完成这项工作的公式,但公式很长。在一篇文章中,我发现建议使用公式的重复部分作为定义名称。这让一切变得更加容易。现在问题来了。

表名称为“Table1”的公式在“Table2”中不起作用。或任何其他表名称。每个表的列标题都相同。

MAX(SEARCH(Table1[@State],Table1[@Origin]))

需要一种返回表名称的方法。通过公式或公式作为定义名称。

MAX(SEARCH(GetTableName[@State],GetTableName[@Origin]))

我更喜欢它是一个公式。我不确定 VBA 解决方案是否是这个问题的正确答案,因此即使它确实有效,我也无法选择它作为答案。仍然会受到赞赏。如果我找不到公式解决方案,我会在单独的帖子中询问。

TY

我发现这篇文章有 VBA 解决方案,但我无法使用它。我发帖只是为了有人能弄清楚这一点。波特兰运行者发布了此代码来获取表名称。

Function GetTableName(shtName As String) As String
GetTableName = Worksheets(shtName).ListObjects(1).Name
End Function

在该函数中,我输入名为“SheetName”的“我定义的名称”公式

=MID(CELL("filename"),FIND("]",CELL("filename"))+1,100)

所以我可以这样使用它。

=MAX(SEARCH(INDIRECT(GetTableName(SheetName)&"[@State]"),INDIRECT(GetTableName(SheetName)&"[@Origin]")))

但是我仍然需要仅使用公式。虽然我可以在我的电脑上运行宏,但它们不会在拥有所有数据的电脑上运行。

这是我使用 UDF 得到的最后一件事。不幸的是我仍然无法使用它。另外,它获取第一个表的名称,而不是单元格所在的实际表。如果这是工作表中唯一的表或者第一个表是您想要的表,则很好。

Function GetTableName() As String 
GetTableName = Worksheets(ActiveSheet.Name).ListObjects(1).Name
End Function

最佳答案

您将需要两个单元格来获取表名称。我的表头从第 2 行开始,表数据从第 3 行开始,因此我将两个公式分别放在单元格 A1 和 B1 中。

第一个单元格应引用表格左上角的标题单元格。对我来说,公式最终如下:

=My2016Data[[#Headers],[State]]

并且等同于“状态”。

第二个单元格的公式应为:

=MID(FORMULATEXT(A1),2,FIND("[",FORMULATEXT(A1))-2)

并且等同于“My2016Data”。

关于Excel 使用公式返回表名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36561623/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com