如何使用单元格公式显示表格的名称?

如何使用单元格公式显示表格的名称?

我想在单元格中显示表格名称。这就是我想到的方法,因为我需要一个不使用数组或宏的解决方案。

有没有办法将这些公式压缩到单个单元格中?我想让它只有一个单元格,我可以将其粘贴到任何我喜欢的地方,它会动态显示此表的名称。

在此处输入图片描述

为了便于说明,M 列只是右侧列的 FORMULATEXT。

其背后的想法是,如果我将表格(包括其左侧的单元格)剪切并粘贴到电子表格中的其他位置,它仍将正常工作并显示表格的名称。单元格 N24 中的结构化引用确保它仍将正常工作,即使我在表格和当前列 N 之间插入其他内容。

  1. 单元格 n25 返回表中任意列的标题名称。优点是,当表名或列名更改时,这将自动更新,而不依赖于表位于特定位置。
  2. 单元格 n24 抓取 n25 中公式文本的一部分。具体来说,它从第二个字符(即公式中的 = 之后)开始搜索,直到找到 [[,它标记表格名称的结尾和列名称的开头(我们只需要表格名称)。这在我的 Excel 2016 上有效,但不幸的是,在早期版本的 Excel 上无效,这很麻烦
  3. 单元格 n23 查找并删除 n24 中返回的内容的方括号。
  4. 单元格 n22 删除下划线并用空格代替。这不是必需的,但看起来更整洁。

这种方法的问题是,上面的三个单元格必须放在当前 n25 上方才能正常工作。它们占用空间并且看起来很乱。我通过将单元格的文本颜色设置为白色(顶部单元格除外)来解决这个问题。

有没有更好的方法可以做到这一点,同时不使用宏或数组,如果解决方案可以在 Excel 2010 中使用,则可以获得加分?或者这个问题只是他们用来标记我陷入疯狂的展览品?

答案1

如果没有宏或 vba UDF,可能就没有单个单元格解决方案。这是压缩为两个单元格的 OP 解决方案。也许单元格 N25 可以使用;;;""自定义格式,将单元格文本格式化为空白(或使用字体颜色与背景颜色相同的技巧)。

N25=Scans_per_day_by_site[[#Headers],[Location]] 公式=PROPER(SUBSTITUTE(MID(FORMULATEXT(N25),2,FIND("[",FORMULATEXT(N25))-2),"_"," "))

除了使用 添加标题大写之外,这个答案和 OP 之间的唯一区别就是要返回的字符PROPER的计算。MID

  • 首先,FIND返回在第二个参数中首次找到文本的位置:(N25MID(2,N25,...)。
  • 使用MID,返回从 开头开始的这个数量的字符N25将包括找到的字符。
  • 要排除找到的字符,请从字符数中减去 1。
  • 由于 的开始MID2,因此从开头删除一个字符,将返回的字符向右移动一个。
  • 再次,这比需要的多了一个字符。
  • 再减 1,总计为- 2

相关内容