我想知道是否有办法在不必编写VB脚本的情况下从另一个列表中替换单元格值。
以下是我要解决的问题:
我在列中有姓:
史密斯
琼斯
泰勒
等
我有另一个包含ID的列,例如
Smith_ID
Taylor_B
Jones_C
我想将Smith
替换为Smith_ID
,将Jones
替换为Jones_C
等。显然,我的列表比3个条目长得多。
答案 0 :(得分:2)
他可以做到。
专栏
史密斯
琼斯
泰勒
B栏
史密斯
泰勒
琼斯
C栏
ID
乙
Ç
现在写下面的公式
=CONCATENATE(A1;"_";VLOOKUP(A1;$B$1:$C$3;2;FALSE))
我希望你做到
答案 1 :(得分:1)
如果两个列表之间有共同值,那么您可以使用Vlookup()(请参阅链接以获取更好的示例)以匹配2。
使用您的示例,您有Sheet1说:
史密斯
琼斯
泰勒
在Sheet2中,您有:
史密斯4
琼斯9
泰勒6
然后这样做:
=vlookup(A1,Sheet2!$A$3:$B$3,2,False)
的列。这将返回第1行4,第2行9等,这是你要找的吗?
答案 2 :(得分:1)
要在一般情况下回答这个问题,假设您有两列:
史密斯,琼斯,泰勒,凯文,耶尔,阿什顿......John Harvard,Yell USC,Kevin Cruise,Ashton Bond,Smith Stone,Taylor Shift ......
这里的经典案例是你有两个非常相似的列只有略有不同。这可能是一个错字或其他一些错误。 如果我们假设B列是您想要的正确的东西,那么您想要做的是在B列中替换A列中的单元格值。
因此,对于A中的每个单元格,您想知道其在B列中的近似匹配的位置。例如,给定A1(Smith),您想知道Smith Stone的位置,在本例中为B5。
从新的C列开始,结合匹配函数和通配符,用以下公式填充C1:
ROW_INDEX =匹配(A1&安培; “”,$ B $ 1:$ B $ 6,0)
现在提取对应于A列的每个近似匹配的row_index。然后使用
=指数($ B $ 1:$ B $ 6 ROW_INDEX,0)
返回单元格C1中的“Smith Stone”。其他细胞也一样。
*备注:这种方法的最大缺陷是它需要B中的大致匹配,A中的每个单元应该是唯一的。
答案 3 :(得分:1)
我有2列,一列是供应商名称,第二列是供应商地址,但它也包含供应商名称。我需要删除供应商名称,这将留下没有名称的供应商地址。
例如,如果一列有" Con Ed",下一列有" Con Ed 123 Street,纽约,NY 11111",我需要更换" Con ED"与null,只有" 123街,纽约,纽约11111"在专栏中。
以下是我的所作所为,我也会告诉您如何才能实现目标。
首先,我创建了一个新列,并将其设置为Vendor Name的Length(使用LEN()函数)。
然后我创建了另一个新列并将其设置为供应商地址的长度。
第三列并设置为使用Right()函数。如果文本是供应商地址,则长度是地址长度减去供应商名称的长度。
所以考虑一下:" Con Ed 123 Street,New York,NY 11111" 第1栏:(供应商的长度):len(Con Ed)= 6 第二栏:(供应商地址的长度):len(Con Ed 123 Street,New York,NY 11111)= 37 第3栏:右([供应商地址],31(37-6))=",纽约,纽约11111"
最后,我刚将TRIM功能应用于第3列。
在您的情况下,您只想使用Concatenate函数附加原始列&新专栏。
总而言之,您将拥有以下列:
第1栏:名称: (史密斯,琼斯,泰勒)
第2列:ID: (Smith_ID,Taylor_B,Jones_C)
Column3:Len([Names])
Column4:Len([IDs])
第5列:"替换"功能 = TRIM(右([ID],([Column4] - [Column3]))
Column6:将字符串放回原处 =:连接([栏3],[Column5])
答案 4 :(得分:0)
=INDEX('All_Linguists_All_ProjectsFri J'!$DA$2:'All_Linguists_All_ProjectsFri J'!$D$71355,MATCH(A2,'All_Linguists_All_ProjectsFri J'!C:C,FALSE),1)
没有时间解释它,但如果你知道如何在excel中编写公式,这应该是有用的。很抱歉没有解释。
答案 5 :(得分:0)
希望您使用的是excel,并且您希望从同一原始的另一个单元格替换raw的一个单元格的值,这必须对整个列进行,而不是形成选定的原始。
在这种情况下,您可以复制要保留的值(即ID列),然后在列名称中查找相同的值。
如果值是相同的原始值,则没有问题,并且从您的查询中看起来值是相同的原始值。
答案 6 :(得分:0)
我在单元格B1中搜索字母“ s”时使用此公式,如果找到,则将单词“加法”连接到单元格A1的值,否则仅取单元格A1的值。
=IF(ISNUMBER(SEARCH("s",B1))=TRUE,CONCAT(A1, " addition"),A1)