1

我有一个相当简单的 Excel 问题,我似乎无法使用填充句柄来解决。我花了两天时间开发复杂的公式来提取和格式化十六进制测试数据,但我被困在一个看似微不足道的问题上。最好用图片来描述(我需要 10 个代表才能直接发布):

在此处输入图像描述

我有一对 128 行的列,列中的每一行都包含连续的数据条目。我想将数据排列在单个有序列中,如上所示。=A1我尝试在前几行的 D 列( 、=B1=A2等)中手动输入一系列函数=B2并使用填充句柄,但它最终会跳过大块数据。

这种重新排列必须有一个简单的解决方案,但我无法解决!

4

3 回答 3

3

D1输入

    =INDIRECT("a"&QUOTIENT(ROW()+1,2))

然后D2进入

    =INDIRECT("b"&QUOTIENT(ROW()+1,2))

然后选择D1:D2并将填充手柄D2向下拖动到列中的行数的两倍A:B

于 2013-10-22T11:04:17.787 回答
2

试试=INDEX($A$1:$B$128,INT((ROW()+1)/2),ABS(MOD(ROW(),2)-2))。放入C1并填写。如果您将它放在其他不是从第 1 行开始的地方,请从每次调用中减去 (start row - 1) 到ROW().

于 2013-10-22T10:49:52.633 回答
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
于 2013-10-22T11:20:05.390 回答