从空白单元格之间的下一个单元格分配值
本质上,我有一个非常长的专栏,像这样的东西
A [blank] 1 2 3 2 5 [blank] B [blank] 4 2 5 3 2 [blank] C [blank] 9 [blank] D
A,B,C等是存储“项目”(号码)的“地点”的名称。 这些位置显示在该位置的“项目”列表的末尾。 我需要的是一个可以在列表中运行的公式,并在单独的列中返回以下结果:
A [blank] 1 B 2 B 3 B 2 B 5 B [blank] B [blank] 4 C 2 C 5 C 3 C 2 C [blank] C [blank] 9 D [blank] D
尝试只有边际效果的任何事情。 任何帮助将非常感激。
我尝试了一些IF
变化
=IF(AND(B1="",B3=""),B2,"")
然后我再详细一点
=IF(B:B<>"",INDIRECT(ADDRESS(MIN((B:B<>"")*(ROW(B:B))),COLUMN(B:B))))
但问题是我不需要MIN(first)
或MAX(last)
,只是两个空白之间的下一个“位置”
假设您的数据是从单元格A1
到A18
,下面是基于您的testing数据为我工作的公式:
=IF(ISTEXT(A1),"", CONCATENATE(IF(ISTEXT(A1),"", IF(ISBLANK(A1),"",A1))," ", IF(AND(A2="",A4=""), IF(OR(ISNUMBER(A3),A3=""),"",A3), IF(A1="","",B2) ) ) )
该公式使用IF, ISTEXT, ISBLANK, AND, OR, ISNUMBER
。
只需将此公式放在单元格B1
,然后向下拖动,直到列A
有数据。
- 基于评论和更新的问题 :
如果你只需要A,B,C等,就让我们来说B栏,然后把下面的公式放在B1单元格中,然后拖拽它。 我已经增强了前锋埃德的公式。
=IF(AND(A2="",A4=""),IF(OR(ISNUMBER(A3),A3=""),"",A3),IF(A1="","",B2))
如果您遇到任何问题,请告诉我。
这将拉起尾部地址,并把它放在数字旁边的单元格中。 但是,如果您需要在同一个单元格中的编号和结尾地址,则公式将需要连接进行修改。
=IF(AND(A2="",A4=""),A3,IF(A1="","",B2))
把它放在A旁边的列中,假设A在单元格A1中,然后复制下来。