基本上,我有一个很长的专栏,就像这样
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)
,只需要下一个&#34;位置&#34;两个空白之间
答案 0 :(得分:1)
这将拉出尾随地址并将其放入与该数字相邻的单元格中。但是,如果您需要同一单元格中的数字和尾随地址,则需要使用串联修改公式。
=IF(AND(A2="",A4=""),A3,IF(A1="","",B2))
将其放在A旁边的列中,假设A在单元格A1中,然后向下复制。
答案 1 :(得分:0)
假设您的数据来自Cell A1
到 A18
,以下是根据您的测试数据为我工作的公式:
=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列,而不是将单元格中的下列公式放在下面。我已经增强了Forward Ed的公式。
=IF(AND(A2="",A4=""),IF(OR(ISNUMBER(A3),A3=""),"",A3),IF(A1="","",B2))
如果您遇到任何问题,请告诉我。