除了创建额外的列之外,公式中是否还有其他方法可以引用表的第一个单元格,以便我可以复制和粘贴表,并且公式仍然有效?
=VLOOKUP($A$1, $E$1:$F$12, 2, 0)
for B2:B8
Name1 Rate
Sunday 0.1
Monday 0.1
Tuesday 0.1
Wednesday 0.1
Thursday 0.1
Friday 0.1
Saturday 0.1
Sunday 0.1
Name1是A1。
这应该足够了,但以防万一在此链接处有示例: https://docs.google.com/spreadsheets/d/19z-LLTj4pcvDCUaoq72qcBicHsT1Gq5Z9i8haPLRIsI/edit?usp=sharing
答案 0 :(得分:3)
实际上不确定您的“公式仍然有效”是什么意思,但希望能有所帮助。在您的示例中,您使用对单元格的绝对引用。您可以在列名和行号前用“ $”号识别它。如果删除这些标志,您的参考将成为相对的。可以在HERE上找到有关该主题的更多信息。
UPD。因此,您需要混合使用绝对引用和相对引用。这是可以完成的。将其作为单个单元格数组公式(Ctrl + Shift + Enter)放入B2单元格。将其传播到第一个表格-您可以将其复制到任何地方:
=VLOOKUP(INDIRECT(ADDRESS(MAX((B$1:B1="Rate")*ROW($A$1:A1));COLUMN()-1));$E$1:$F$12;2;0)
通过使用“ Rate”标题搜索最新的行来工作。因此,请确保它始终存在。如果标题可能会更改-您可能会对VBA上的用户定义公式感兴趣。
$A$1:A1
并不重要,因为只需要获取不同行的数字即可。 $E$1:$F$12
是您的固定表。
答案 1 :(得分:1)
我不认为这正是您要寻找的东西,而是拼凑起来形成一个问题:“ 是否可以引用表的第一个单元格?” >
是的!
您可以将索引与1,1和表名一起使用。请参见下面的示例,其中包含一个名为 Table1 的示例表以及用于在第一行和第一列=INDEX(Table1,1,1)
中提取值的公式。如果需要标题,则可以将公式修改为:=INDEX(Table1[#Headers],1,1)
,它将返回“ MOND”。
再次,可能不是您要查找的内容,但是如果有人进行搜索,他们可能会发现这很有用。
答案 2 :(得分:0)
是的,您可以选择复制粘贴公式,但是您认为必须正确冻结公式。
您已经完全冻结了 $ A $ 1 单元格,并且对所有完全不正确的单元格进行了复制。您已将其冻结为 $ A1 更正了您的公式的示例: = VLOOKUP($ A1,$ E $ 1:$ F $ 12,2,0)
冻结意味着创建相对单元参考。
请参考下面的链接以完全了解相对和绝对单元格引用。
https://www.ablebits.com/office-addins-blog/2015/11/25/relative-absolute-reference-excel/
答案 3 :(得分:0)
最后,我决定使用额外的列,但是给出了一个公式示例,该公式允许将表复制到其他列。
{=INDIRECT(SUBSTITUTE(ADDRESS(1, COLUMN()-1, 4), "1", "")&MIN(IF(OFFSET(L:L, 0, -1)<>"", ROW(OFFSET(L:L, 0, -1)), 9999999)))}
细分
SUBSTITUTE(ADDRESS(1, COLUMN()-1, 4)
将第1列的列字母字符串从左移,因此如果我们在L:L
列中,则将返回"K"
。对于其他列,需要将COLUMN()-1
修改为COLUMN()-2
,COLUMN()-3
等OFFSET(L:L, 0, -1)
返回K:K
。MIN(IF(OFFSET(L:L, 0, -1)<>"", ROW(OFFSET(L:L, 0, -1)), 9999999))
等效于
MIN(IF(K:K<>"", ROW(K:K), 9999999))
返回列K:K
中第一个非空单元格的行号这项工作在以下条件下提供: