2017-03-02 185 views
0

问题

在Excel我有旧政府地区名称三列。这些已被标准化,以显示该地区的主要名称和旧名称分列。现在我想使用concatenate或任何其他合适的功能在单独的列中自动显示其全名。如何将初始单元格1与单元格2的所有单元连接起来并完成单元格1的剩余单元格?

布局是这样:

  • 列表项
  • 列E:面积
  • 上校的F正式名称:旧名区
  • 上校G:对于全名区域,印在原始文件上。这包含我想要的连接。

这是一个问题,有些名称有所有格-S加入其中,如下面的例子:

 E        F   G 
2 Hobøl Thinglag     Hobøle  Hobøl (Hobøle) Thinglag 
8 Vaalers Thinglag       Vaalers Thinglag 
5 Rygge Thinglag     Ryggihof Rygge (Ryggihof) Thinglag 
60 Skjebergs Thinglag    Skjaberg Skjebergs (Skjaberg) Thinglag 
108 Spydebergs Thinglag   Spjoteberg Spydebergs (Spojteberg) Thinglag 
220 Skedsmo og Nittedals Thinglag    Skedsmo og Nittedals Thinglag 

我想怎么办

我需要在col中标识名称的第一部分。 E,添加内容。 F(如果有的话)放在圆括号中,然后添加col中剩下的内容。 E.一些形式left功能似乎是恰当的,但我不知道如何识别单词的末尾时,不计算符号数。

这可能是一个right功能是比较合适的,由行220所例示;在创建该文件之前一段时间可能会有一些领域加入组建一个政府领域;可以看出,分隔符是'Thinglag'(带有空格)。换句话说,小区1(E2:E)的所述第一部分可以包含多个字需要被转置。使用排220上面作为一个例子,如果有在F220的条目(让我们说“Skeidsmo OGNøttedal”),G220应改为“OG谢斯莫Nittedals(Skeidsmo OGNøttedal)Thinglag”。

一个例子式被插入到F2:

=CONCATENATE(LEFT[word in E2];" (";F2;") "; [the rest of E2]) 
+0

'LEFT(E2,SEARCH(“”,E2,1))'将返回E2中的第一个单词,如果用空格分隔。 – Arun

+0

'E2,1'部分是做什么的?这可以根据我上面的编辑重新编写,而不是使用'right'? –

+0

'SEARCH()'有一个类似'SEARCH(substring,string,[start_position])'的语法。它返回它在字符串中找到的匹配的起始索引。 – Arun

回答

2

尝试这种情况:

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

它首先检查F2被填充以查看弦是否需要被级联,那么如果他们这样做执行以下操作:

  1. 查找在012第一空间加“T”的位置使用SEARCH(" T",E2)
  2. 它使用此信息使用LEFT(E2,SEARCH(" T",E2))
  3. 的第一个字的值与使用&"("&F2&")"&
  4. E2串的其余字的括号和F2值,以提取字符串中的第一个字,获得使用MID(E2,SEARCH(" T",E2),Len(E2)-SEARCH(" T",E2)+1)其所处的字符串中第一个空间加上“T”的位置,并得到后它后面的单词的其余部分。
+0

谢谢!它确实似乎有窍门。为了容纳地名,例如Skedsmo或Niningals Thinglag,我将它改为如下:'= IF(F243 =“”; E243; CONCATENATE(LEFT(E243; SEARCH(“T”; E243))&“(”&F243& )“&MID(E243; SEARCH(”“; E243); LEN(E243)-SEARCH(”“; E243)+1)))'注意加入'CONCATENATE'。我编辑了你的答案,包括连接和调整后的搜索关键字,以便将编辑与我的问题相匹配。 –

+0

我现在正在尝试为不同的单元使用相同的功能。结构是一样的,但我现在必须搜索四个不同的单词之一:'Sogn','Hovedsogn','Annex'或'Præstegjeld'。我试图改变公式,所以它现在读取'CONCATENATE(LEFT(P22; SEARCH(OR(“So”;“Ho”;“An”;“Pr”); P22)['],但是得到了太多你有任何见解可以分享这个吗? –

+0

我应该在上面发表我的评论作为一个单独的问题吗?它似乎是不必要的重复。 –

相关问题