仅当 B 列中对应的单元格包含任何文本时才填充 A 列中的有序系列

仅当 B 列中对应的单元格包含任何文本时才填充 A 列中的有序系列

我希望如果column B有文本,那么在相应的单元格中column A应该根据前一个条目或所谓的系列来填充数字。

我尝试过在 A1 上使用这个=IF(B1=="","",1),但是没有用。我将其拖到所有单元格,column A但是它填充1了所有单元格。

这个怎么做?

答案1

您正朝着正确的方向前进,但 IF 语句的语法不正确。IF 函数的语法如下;

IF(逻辑测试,[如果为真则为值],[如果为假则为值])

因此,要实现您的要求,您需要满足这 3 个要素。

  1. 逻辑测试B1看它是否包含“无”。这只需要一个等号;B1=""
  2. 如果逻辑测试为真( 中没有任何内容B1),则告诉它应该做什么。 在你的情况下,什么也不做;""
  3. 如果逻辑测试为假(中的某些内容B1),则单元格A1将填充单元格引用、公式、特定文本或固定数字的值;1(或您希望的任何值)。

把所有东西放在一起;=IF(B1="","",1)或者=IF(ISBLANK(B1),"",1)

在 中公式生效后A1,将其复制到A2并按如下方式修改,将前一个值加一;=IF(B1="","",SUM(A1+1))。现在,您可以将其从 复制A2到 中的其余单元格Column A

答案2

在 Excel 中,“等于”的比较运算符是一个 = 符号,而不是两个。

我假设您所说的“上一个条目”是指上面的单元格。不太清楚您想要显示什么。如果您只想在 B 列有值的行中显示 1,请尝试

=if(B1="","",1)

并抄下来。

如果这不能回答您的问题,请提供更多细节。一张手动模拟所需结果的屏幕截图可以作为开始。

答案3

我解决了使用最后一列来制作正确系列的问题。它所做的如下:

  • 定义名称XFD1X并赋值0。
  • 指定公式

XFD2=如果(B2="","",1)

到 XFD2 并根据需要将其拖动到 1000 个或更多单元格。

  • 现在对于 A2,它将是系列的起点,分配以下公式:

A2=IF(B2="","",SUM(INDIRECT(ADDRESS(ROW(X),COLUMN(X))):INDIRECT(ADDRESS(ROW(),COLUMN(XFD2)))))

  • 现在将其拖动到等效单元格,就像在 XFD 列中拖动一样

仅当 B 列中对应的单元格有任何文本时,这才会填充 A 列中的有序系列。

相关内容