我有一个相当简单的Excel问题,我似乎无法使用填充句柄解决。我花了两天时间开发复杂的公式来提取和格式化十六进制测试数据,但我仍然坚持看似微不足道的问题。最好用图像描述(我需要10个代表直接发布):
我有一对128行的列,每列的行包含连续的数据条目。我想将数据排列在一个有序列中,如上所示。我尝试在D列(=A1
,=B1
,=A2
,=B2
等)中为前几行手动输入一系列函数并使用填充句柄,但它最终会跳过大块的数据。
这种重排必须有一个简单的解决方案,但我无法解决这个问题!
答案 0 :(得分:3)
在D1
输入
=INDIRECT("a""IENT(ROW()+1,2))
然后在D2
输入
=INDIRECT("b""IENT(ROW()+1,2))
然后选择D1:D2
并将D2
中的填充句柄向下拖动到列A:B
中的行数的两倍。
答案 1 :(得分:2)
试试=INDEX($A$1:$B$128,INT((ROW()+1)/2),ABS(MOD(ROW(),2)-2))
。放入C1并填写。如果您将其放在不在第1行开始的其他位置,则从每次调用ROW()
减去(开始行 - 1)。
答案 2 :(得分:0)
在vba中,只需在结束for,next循环之前递增变量,如下所示:
Sub crundle()
i = 1
j = 1
For i = 1 To 128
ActiveSheet.Range("d" & i) = "=a" & j
ActiveSheet.Range("d" & i + 1) = "=b" & j
i = i + 1
j = j + 1
Next i
End Sub