在 Excel 中,如何将一个单元格中的数字列表(例如 1、3、7)转换为相邻单元格中的虚拟变量 (1s)?
In Excel how can I convert a list of numbers (e.g. 1, 3, 7) in one cell to dummy variables (1s) in adjacent cells?
我收到了一个 Excel 电子表格,其中包含从在线调查中提取的列,其中包含参与者已勾选的选项的整数列表。例如。一位参与者可能在调查中勾选了选项 1、6 和 11,因此该单元格包含 [1,6,11]。另一个只是选项 2。可能值的范围在某些情况下为 1 到 11,在其他情况下为 1 到 18。
我需要将这些列表转换为 18 个相邻的列,如果该列的编号存在则包含 1,否则包含 0。手动执行此操作非常繁琐且容易出错。
Excel 电子表格中已存在 11 或 18 个相邻列。
我试过使用,例如:
=IFERROR(IF(FIND("2",A1), 1, 0), 0)
如果列表中存在 2,则在 Option2 列中放置“1”,否则放置 0。
这部分有效,但存在“1”、“1,11”和“11”的歧义问题。
我很想知道如何最好地实现这一目标。
下图显示了所需结果的示例,但手动完成...
您需要用逗号 (,) 将要检查的数字和要查找的字符串括起来,以免产生歧义。
有几种方法可以为匹配生成 1 - 我个人的偏好是使用 Isnumber 来查看匹配是真还是假,然后使用双一元减号将结果转换为 1 或 0:
=--ISNUMBER(FIND(","&COLUMN(A1)&",",","&$A2&","))
我收到了一个 Excel 电子表格,其中包含从在线调查中提取的列,其中包含参与者已勾选的选项的整数列表。例如。一位参与者可能在调查中勾选了选项 1、6 和 11,因此该单元格包含 [1,6,11]。另一个只是选项 2。可能值的范围在某些情况下为 1 到 11,在其他情况下为 1 到 18。
我需要将这些列表转换为 18 个相邻的列,如果该列的编号存在则包含 1,否则包含 0。手动执行此操作非常繁琐且容易出错。
Excel 电子表格中已存在 11 或 18 个相邻列。
我试过使用,例如:
=IFERROR(IF(FIND("2",A1), 1, 0), 0)
如果列表中存在 2,则在 Option2 列中放置“1”,否则放置 0。
这部分有效,但存在“1”、“1,11”和“11”的歧义问题。
我很想知道如何最好地实现这一目标。
下图显示了所需结果的示例,但手动完成...
您需要用逗号 (,) 将要检查的数字和要查找的字符串括起来,以免产生歧义。
有几种方法可以为匹配生成 1 - 我个人的偏好是使用 Isnumber 来查看匹配是真还是假,然后使用双一元减号将结果转换为 1 或 0:
=--ISNUMBER(FIND(","&COLUMN(A1)&",",","&$A2&","))