Excel公式,用于根据在同一工作表中的不同单元格上运行的序列或规则填充数据

fhity93d  于 2022-12-24  发布在  其他
关注(0)|答案(2)|浏览(97)

我需要使用另一个单元格中的数据组合填充一个单元格。以下是我的数据的外观(抱歉,我无法发布图片):列A =名称列B =团队列C =简称
我尝试根据一系列应用于名称(A列)的规则来填充短名称。我已经完成了一些工作。所以下面是我希望得到的结果:
这是一条有效的规则- 如果名称中包含“:“,我将使用其后的前4个字符填充单元格[IFERROR(B2&""&MID(A2,FIND(“:“,A2,1)+1,4),"”)]。如果未找到:,则将C列留空。在引入新需求之前,这一直运行良好...
因此,现在C列将基于以下3项之一填充:
1.现在发生的事情。所以如果:exists根据上面的公式填充列C
1.如果:不存在,我需要检查A列中是否有“(ENH)"。如果(ENH)存在,我需要用A列中显示的所有内容填充C列。如果(ENH)存在,它将始终是A列中显示的前5个字符。
1.如果:或(ENH)不存在,则C列保持空白
使用我的真实的数据,在一天结束时,C列将显示以下3项内容之一,按我的规则顺序显示:
1.金牌运维
1.(ENH)UI重构
1.空白

llew8vvj

llew8vvj1#

您可以使用以下公式填充C "Short Name"列:

=IF(ISNUMBER(SEARCH(":", A2)), B2&" "&MID(A2,SEARCH(":", A2)+1, 4), IF(ISNUMBER(FIND("(ENH)", A2)), A2, ""))

结果如下表所示:
| 名称列|团队列|简称|
| - ------| - ------| - ------|
| foobar:操作与维护|黄金|金牌运维|
| (ENH)UI重构|管他呢1|(ENH)UI重构|
| 弗卢伯|管他呢2||
注:

  • FIND()区分大小写,而SEARCH()不区分大小写。我使用FIND()表示"(ENH)",因为您似乎需要完全匹配。如果"(enh)"也应该匹配,请使用SEARCH()
  • ISNUMBER(...)可用于检查SEARCH()FIND()是否返回有效索引,而不是#VALUE!,从而检查是否找到搜索文本。也可使用NOT(ISERROR(...))
a8jjtwal

a8jjtwal2#

根据没有发布示例的小信息,这将使用Office 365工作:第一个月

  • TEXTAFTER检查第n个分隔符并显示其后的文本。如果你问我的话,这比MID更容易阅读。但基本上它在这种情况下做的是一样的。*

如果你需要一个更好的答案,请遵循dbc的建议,将数据作为减价表发布。

相关问题