在Excel中,我有三个列,其中包含旧政府区域的名称。这些已标准化,以显示区域的主要名称和旧名称在单独的列中。现在,我想使用concatenate
或任何其他合适的函数在单独的列中自动显示其全名。
布局如下:
有些名称添加了genitive-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,添加col中的内容。括号中的F(如果有的话),然后添加col中剩下的内容。 E.某种形式的left
函数似乎是合适的,但我不知道在不计算符号数时如何识别单词的结尾。
可能是right
函数更合适,如第220行所示;在创建本文件之前的某个时间段可能会加入一个政府领域;可以看出,分隔符将是“Thinglag”(带有空格)。换句话说,单元格1的第一部分(E2:E)可能包含多个需要转置的单词。以上面的行220为例,如果在F220中有条目(让我们说'SkeidsmoogNøttedal'),G220应该是'Skedsmo og Nittedals(SkeidsmoogNøttedal)Thinglag'。
要插入F2的示例公式:
=CONCATENATE(LEFT[word in E2];" (";F2;") "; [the rest of E2])
答案 0 :(得分:2)
试试这个:
IF(F2="",E2,CONCATENATE(LEFT(E2,SEARCH(" T",E2))&"("&F2&")"&MID(E2,SEARCH(" T",E2),Len(E2)-SEARCH(" T",E2)+1)))
它首先检查是否填充了F2
以查看字符串是否需要连接,然后如果它们执行,则执行以下操作:
E2
SEARCH(" T",E2)
中第一个空格加'T'的位置
LEFT(E2,SEARCH(" T",E2))
F2
&"("&F2&")"&
的括号和值连接起来
E2
中字符串的剩余单词是使用MID(E2,SEARCH(" T",E2),Len(E2)-SEARCH(" T",E2)+1)
获得的,length(dir(path="D:/Shivi/R Project", all.files = TRUE))
定位第一个空格的位置加上字符串中的“T”,然后获取其后的其余单词。