我有一个 Z 列,其中包含如下值
A
B
B
B
B
A
B
B
B
Z 列中的一个 A 后面可以有任意数量的 B。单元格 X1 包含值“firsttext”,单元格 Y1 包含值“secondtext”,我希望使用某些 Excel 公式使 W 列如下所示:
firsttext
secondtext
{Blank}
{Blank}
{Blank}
firsttext
secondtext
{Blank}
{Blank}
因此,对应于 Z 列中的每个 A 值,我希望 W 列中的值“firsttext”,在下面的单元格中我希望其值为“secondtext”,之后每个单元格都应保持空白,直到 Z 列中出现下一个 A 值。
我使用了类似这样的公式W=IF(Z1="A",$X$1,$Y$1)
。但是这个公式复制了我不想要的每个 B 值对应的“secondtext”。
答案1
添加嵌套的 if:
=IF(Z1="A",$X$1,IF(INDEX(Z:Z,MAX(ROW()-1,1))="A",$Y$1,""))
查看INDEX(Z:Z,MAX(ROW()-1,1))
当前行上方的 Z 列。由于您将其放在第 1 行,因此我们需要处理没有第 0 行的事实。
您也可以将公式放在 W1 中,然后将其放在 W2 中:
=IF(Z2="A",$X$1,IF(Z1="A",$Y$1,""))
并抄下来。