Excel - 从多个列中提取文本

时间:2017-10-09 17:58:10

标签: excel excel-formula

如果其他列中存在值,我会尝试填写一列("通讯模式")。

这就是行和列的显示方式。

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

我想要的是使用一个公式来让它扫描成千上万的行,并根据在&#34; In Person&#34;,&#中是否有条目将文本插入到“通信模式”列中34;电子邮件&#34;,&#34; IM&#34;或&#34;电话&#34;,然后理想情况下创建一个具有持续时间的单独列。

+-----------------------+-------------+-----------+-------+----+-------+
| 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。所有行和列都在同一张纸上。

3 个答案:

答案 0 :(得分:2)

将其置于“通讯模式”中。柱:

<button id="lookup1573" class="autofill" type="button">Auto fill</button>

把它放在&#39; Time Spent&#39;柱:

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

这些假设列A是通信模式,列B是时间花费。

答案 1 :(得分: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(,))

填写。

答案 2 :(得分:1)

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

例如在专栏#34;沟通方式&#34;你可以使用连接(inperson,email,im,phone),然后解析数据。

在通讯模式列中使用此公式:单元格A2 = TRIM(SUBSTITUTE(CONCATENATE(C2,D2,E2,F2),B2,&#34;&#34))

Time Spent Column:Cell B2 = TRIM(替换(替换(替换(替换(加入(C2,D2,E2,F2),&#34;亲自&#34;,&#34;&#34;),&#34;电子邮件&#34; &#34;&#34;),&#34; IM&#34;&#34;&#34;),&#34;电话&#34;&#34;&#34))< / p>