两组 XY 对(四列);第一组每次将“X”增加 1;第二组每次将“X”增加 7。有没有办法让它们的 X 值匹配?

两组 XY 对(四列);第一组每次将“X”增加 1;第二组每次将“X”增加 7。有没有办法让它们的 X 值匹配?

这些是四列,有 300 多行。以下是前几条记录第一个(每次将 X 增加 1); 和以下是第二个的几个(每次增加 X 7)。为方便起见,我将这些列称为 X1、Y1 和 X2、Y2

我想做两件事:

  1. 使用 X1、Y1 和 Y2 创建三列,其中 Y2 的值仅放置在 X2 可能有数据的行上。(因此,Y2 在第 0、7、14 行有值,但在第 1-6、8-13 行等为空。)例子

  2. 使用 X2、Y1 和 Y2 创建三列,其中 Y1 中在 X1 中有匹配条目但在 X2 中没有的值将被删除。(因此 Y1 的 1-6、8-13、15-21 等行被删除)。例子

有什么办法吗?我的条目太多了,无法手动完成。非常感谢您抽出时间!

答案1

创建第一个列表的副本,我们将其称为 List1。使用 Vlookup 在 List2 中查找 List1 第一列中的值,返回 Y 值

假设列表位于两个单独的工作表中,分别称为 List1 和 List2,数据位于 A 列和 B 列,标签位于第一行,公式从第二行开始

=iferror(Vlookup(a2,List2!A:B,2,0),"")

或者,如果你有新的 Xlookup 函数

=XLOOKUP(A2,List2!A:A,List2B:B,"")

类似地,对于场景 2,复制 List2 并使用等效公式从 List1 中查找匹配的数字。

如果您希望结果是静态的而不是公式,请复制三列并使用选择性粘贴 > 值粘贴它们。

答案2

您可以使用查找函数来填充表格,但由于数据是定期出现的,因此您可以轻松高效地使用 INDEX 和 ROW。在 X1 Y1 旁边添加 Y2:

=IF(MOD(ROW()-1,7)=0,INDEX(Y2, INT((ROW()-1)/7)+1), "")

同样地,在 X2 Y2 旁边放

=INDEX(Y1, (ROW()-1)*7+1)

相关内容