跨工作表关联含相同ID列的表格并实现同步更新与排序的方法咨询
嗨James!很高兴能帮你解决这个跨表关联的问题~根据你的需求,我整理了Excel和Google Sheets这两款常用工具的具体实现步骤,帮你搞定ID同步更新和排序联动:
Excel 实现方法
第一步:将表格转为超级表(结构化引用)
选中第一个表(主表,含ID、DOB、Address)的所有数据区域,按Ctrl+T勾选「表包含标题」,点击确定后将其命名为MainTable(在表格工具的「设计」选项卡中修改表名称);用同样的方法将第二个表(副表,含ID、Score1、Score2)转为超级表,命名为ScoreTable。第二步:同步主表ID到副表
在副表的ID列第一个数据单元格(比如Sheet2的A2)输入公式:=MainTable[ID]按回车后,Excel的动态数组会自动填充主表所有ID,后续主表新增ID时,副表ID列会自动扩展同步。
第三步:关联分数列并实现排序同步
在副表的Score1列第一个数据单元格输入公式:=XLOOKUP([@ID], ScoreTable[ID], ScoreTable[Score1], "")同样在Score2列输入:
=XLOOKUP([@ID], ScoreTable[ID], ScoreTable[Score2], "")这样当你对主表的任意列进行排序时,副表的ID列会跟随主表顺序变化,分数列也会通过
XLOOKUP自动匹配到对应ID的数值;主表新增ID时,分数列会显示空值,方便你后续填写。
Google Sheets 实现方法
第一步:设置命名范围
选中主表的ID列及数据区域,右键选择「命名范围」,命名为MainID;选中副表的所有数据区域,命名为ScoreData。第二步:同步主表ID到副表
在副表的ID列第一个数据单元格输入公式:=FILTER(Main!A:A, Main!A:A<>"")这个公式会自动提取主表非空的ID行,后续主表新增ID时,副表ID列会自动更新。
第三步:关联分数列并实现排序同步
在副表的Score1列第一个数据单元格输入数组公式:=ARRAYFORMULA(XLOOKUP(A2:A, ScoreData!A:A, ScoreData!B:B, ""))Score2列则输入:
=ARRAYFORMULA(XLOOKUP(A2:A, ScoreData!A:A, ScoreData!C:C, ""))当你对主表排序时,副表ID列会跟随主表顺序变化,分数列会自动匹配对应ID的数值;主表新增ID时,分数列会显示空值等待填写。
备注:内容来源于stack exchange,提问作者james

