2017-10-09 51 views
0

我想填寫一個列(「通信模式」),如果某個值存在於其他列中。Excel - 從多列中提取文本

這就是行和列現在的樣子。

+------+----------------+----------------+------------+----------------+ 
| Mode | In Person  | Email   | IM   | Phone   | 
+------+----------------+----------------+------------+----------------+ 
|  | In person < 5 |    |   |    | 
+------+----------------+----------------+------------+----------------+ 
|  |    | Email 10 - 15 |   |    | 
+------+----------------+----------------+------------+----------------+ 
|  |    |    | IM < 5 min |    | 
+------+----------------+----------------+------------+----------------+ 
|  |    |    |   | Phone 10 - 15 | 
+------+----------------+----------------+------------+----------------+ 
|  |    |    | IM < 5 min |    | 
+------+----------------+----------------+------------+----------------+ 

我要的是用一個公式來得到它通過數千行的掃描和插入文本到通信塔的基礎上,模式如果在「親身」,「電子郵件」中的條目,「IM」或「電話」,然後理想地創建一個帶有持續時間的單獨列。

+-----------------------+-------------+-----------+-------+----+-------+ 
| Mode of Communication | Time Spent | In Person | Email | IM | Phone | 
+-----------------------+-------------+-----------+-------+----+-------+ 
| In Person    | < 5 min  |   |  | |  | 
+-----------------------+-------------+-----------+-------+----+-------+ 
| Email     | 10 - 15 min |   |  | |  | 
+-----------------------+-------------+-----------+-------+----+-------+ 
| IM     | < 5 min  |   |  | |  | 
+-----------------------+-------------+-----------+-------+----+-------+ 
| Phone     | < 5 min  |   |  | |  | 
+-----------------------+-------------+-----------+-------+----+-------+ 
| In Person    | 10 - 15 min |   |  | |  | 
+-----------------------+-------------+-----------+-------+----+-------+ 

我一直在嘗試使用VLOOKUP。所有的行和列都在同一張紙上。

回答

2

將這個在 '通訊模式' 的欄:

=IF(C2<>"","In Person",IF(D2<>"","Email",IF(E2<>"","IM",IF(F2<>"","Phone",""))))

在 '花費時間' 列將這個:

=IF(C2<>"",SUBSTITUTE(C2,"In person ","")&" min",IF(D2<>"",SUBSTITUTE(D2,"Email ","")&" min",IF(E2<>"",SUBSTITUTE(E2,"IM ","")&" min",IF(F2<>"",SUBSTITUTE(F2,"Phone ","")&" min",""))))

這些假定A列是模式溝通和B欄是花費的時間。

1

插入列A和列B

在A2之間一個新的空白欄,

=IFERROR(INDEX(C$1:F$1, MATCH("zzz", C2:F2)), TEXT(,)) 

在B2,

=IFERROR(TRIM(REPLACE(INDEX(C2:F2, MATCH("zzz", C2:F2)), 1, LEN(A2), TEXT(,))), TEXT(,)) 

向下填充。

1

我看到的解決方案之一是連接所有列和解析。

例如,在「通信模式」一欄中,您可以使用concatenate(inperson,email,im,phone)並解析數據。

使用此公式中模式通訊塔的:細胞A2 = TRIM(SUBSTITUTE(CONCATENATE(C2,D2,E2,F2),B2, 「」))

花費時間柱:細胞B2 = TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(CONCATENATE(C2,D2,E2,F2),「In person」,「」),「Email」,「」),「IM」,「」),「Phone」 「」))