尝试匹配列中的字符串并打印匹配的列名称

时间:2018-02-28 19:24:13

标签: google-sheets

我正在尝试在Google工作表中构建费用信息中心供我个人使用。

我有数据,我将从收据中提取,如下:

第一张:"费用2月18日"

+------------+--------+--------+
|    Item    | Amount |  Type  |
+------------+--------+--------+
| Tomatoes   | 2.39   | veggie |
| Joghurt    | 1.45   | dairy  |
| mozzarella | 1.99   | dairy  |
| macadamia  | 4.59   | nuts   |
+------------+--------+--------+

第二张表:"类别"

+------------+----------+-----------+---------------+
|   dairy    |  veggie  |   nuts    | uncategorised |
+------------+----------+-----------+---------------+
| joghurt    | tomatoes | macadamia | a             |
| mozzarella | cucumber | pecan     | b             |
| feta       |          |           | c             |
|            |          |           | d-z           |
|            |          |           | 0-9           |
|            |          |           | -             |
|            |          |           | _             |
+------------+----------+-----------+---------------+

我想根据项目名称自动填写类型列。

到目前为止,我有一个能够匹配项目的正则表达式。它将打印匹配的字符串。但我需要的是列名(标题)。它必须能够遍历列。这仅适用于单个列。

=REGEXEXTRACT(C11, JOIN("|", INDIRECT("Categories!A1:A"&COUNTA(Categories!A:A))))

1 个答案:

答案 0 :(得分:2)

第二个表格不是输入数据的理想方式。应该输入的数据最好是行数而不是列数(不是以旋转方式)。

=ARRAYFORMULA(CONCATENATE(IF(A16=$C$24:$E$25,C$23:E$23,)))
  • A16:
  • C24:E25:类别表
  • C23:E23:类别标题。