You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将逗号分隔值透视转换为列标题以构建关联矩阵?

批量将逗号分隔值转换为关联矩阵的高效方案

针对Excel 365/2021(支持动态数组)

无需手动创建列标题,靠动态数组自动完成全流程:

  1. 提取所有唯一动物作为列标题
    在空白单元格(比如D2)输入公式:
    =UNIQUE(TEXTSPLIT(TEXTJOIN(",", TRUE, B:B), ","))
    
    公式逻辑:TEXTJOIN合并所有动物名称为单字符串,TEXTSPLIT按逗号拆分,UNIQUE去重后自动生成所有动物列标题。
  2. 生成关联矩阵内容
    在空白单元格(比如E2)输入公式:
    =BYROW(A:A, LAMBDA(row_val, IF(row_val="", "", BYCOL(D:D, LAMBDA(col_val, IF(col_val="", "", IF(ISNUMBER(SEARCH(col_val, XLOOKUP(row_val, A:A, B:B))), "X", ""))))))
    
    公式逻辑:BYROW遍历每个Letter,BYCOL遍历每个动物,XLOOKUP匹配对应Letter的动物字符串,SEARCH判断动物是否存在,存在则标记X。

针对超大数据量(Python pandas方案)

数据集规模极大时,用Python的pandas库处理效率更高:

import pandas as pd

# 读取原始数据(假设是CSV格式,可根据实际调整)
df = pd.read_csv("your_input_data.csv")

# 拆分逗号分隔的Animals列并将每行展开为多行
df_expanded = df.assign(Animals=df["Animals"].str.split(",")).explode("Animals")

# 生成交叉表并替换标记
result_matrix = pd.crosstab(df_expanded["Letter"], df_expanded["Animals"]).replace({1: "X", 0: ""})

# 输出或保存结果
print(result_matrix)
result_matrix.to_excel("animal_letter_matrix.xlsx", index=True)

代码逻辑:explode将逗号分隔的动物拆分为独立行,crosstab自动统计关联关系,最后把统计值替换为X和空值,可直接保存为Excel文件。

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:11:57