将单元格1的部分与单元格2的全部条件按多条标准连接起来,以单元格1的其余部分结束

介绍

这是在这里发布和回答的问题的延续,但已被build议由@Jordan作为单独的问题发布。

目标:将单元格1的内容的一部分与单元格2的所有内容合并,完成单元格1的剩余部分。扭曲:必须对单元格1应用多个条件。

问题

在成功地改变了乔丹为joinThinglag而容纳连接名字的优秀答案之后,只要有一个标准可以识别,下面的函数就可以执行这个任务:

IF(F2="",E2,CONCATENATE(LEFT(E2,SEARCH(" T",E2))&"("&F2&")"&MID(E2,SEARCH(" T",E2),Len(E2)-SEARCH(" T",E2)+1))) 

然而,对于教区和附件,需要多个标准。 下列:

  • 松恩
  • Hovedsogn
  • 附件
  • Præstegjeld

结构体

  • AB-AH:Sogn_anx_ [1-7]
  • AI-AO:Sogn_anx_ [1-7] _altnvn
  • AP-AV:Sogn_anx_ [1-7] _hele

和原来的post一样,我有一个提供该地区当前正式名称的来源,以及以前使用的名称(提供当前名称的词源信息)。 在包含旧名的来源中,它被作为一个含义,如:

  • 'Søndeløvs(Sundaleid)附件'
  • '特罗姆(Thrumø)附件'
  • 'Hvitesø(Hviteseids)Hovedsogn'
  • 'Attraa(Attrod)Hovedsogn'
  • 'Thjølings(Thjodaling)Sogn'

这些已经使用三列input到数据库中:

  • 一个为正式名称
  • 一个用于旧名称
  • 一个显示打印的名称

这是为了在公开这些信息时提供更好的可search性。

示例数据:

 Sogn_anx_1 Sogn_anx_2 Sogn_anx_3 … Sogn_anx_1_altnvn Sogn_anx_2_altnvn Sogn_anx_3_altnvn … Sogn_anx_1_hele Sogn_anx_2_hele Sogn_anx_3_hele AB AC AD … AI AJ AK … AP AQ AR Soleims Hovedsogn … Solheims … Soleims (Solheims) Hovedsogn Meleims Annex … Medelheims … Meleims (Medelheims) Hovedsogn Holdens Hovedsogn Romenæs Annex Holdens Hovedsogn … Rumenæs Hollen … Holdens Hovedsogn Romenæs (Rumenæs) Annex Holdens (Hollen) Hovedsogn 

可以看出,第一组列包含正式名称; 第二组列( altnvn = alt_name )包含旧的名字,在源文件中被写为一个伪装的注释; 第三组列包含完整的串联名称( hele = whole / whole ),在那些有替代名称的情况下 – 包含这个名称。

期望的结果

我想在第三栏中执行相同的任务,只是这次必须能够通过查找四个标准中的任何一个来执行search,所以" T"将不得不被replace为所有四种变体: " So"" Ho"" An"" Pr" (注:空格是故意的)。 我已经尝试使用OR编辑原始函数,但这并不奇怪 – 失败。

使用VBA解决scheme可能会更简单。 但是,你的直接的问题,使用SEARCHfind几个定义的单词之一,可以通过使用一个数组常量find_text和附加条款within_text 。 如果您不能保证find_text将始终显示,则需要检查结果是否小于原始的within_text的长度。

您也可以考虑使用区分大小写的Findfunction,或者更长的find_textstring,以防可能有些不明确之处。

 =MIN(SEARCH({" So"," Ho"," An"," Pr"},AB3&" So Ho An Pr"))