访问 - 将一些列数据转换为行记录

时间:2016-05-30 11:43:08

标签: excel vba ms-access

我想应用类似这样的函数: "Transposing" some columns with ID fields into rows while copying the other data

但在这些情况下:

表:

A | B | 1 | 3 | 5 | 2|

C | D | 8 | 5 | 4 | 7|

进入这样一个表:

A | B | 1 |

A | B | 3 |

A | B | 5 |

A | B | 2 |

C | D | 8 |

C | D | 5 |

C | D | 4 |

C | D | 7 |

这可以通过修改引用函数来实现吗?或者Access中的解决方案更容易?

2 个答案:

答案 0 :(得分:1)

使用 A F 列中的数据,选择任何单元格,例如 H3 ,然后输入:

1

并复制下来。在 I3 中输入:

=INDEX(A:A,ROUNDUP(ROWS($1:1)/4,0))

并复制下来。在 J3 中输入:

=INDEX(B:B,ROUNDUP(ROWS($1:1)/4,0))

并复制下来:

enter image description here

答案 1 :(得分:0)

或者,考虑使用Jet / ACE引擎(Windows .dll文件)可以在Excel或Access中运行的SQL联合查询:

SELECT Col1, Col2, Col3
FROM TableOrSheet$Name
UNION ALL
SELECT Col1, Col2, Col4
FROM TableOrSheet$Name
UNION ALL
SELECT Col1, Col2, Col5
FROM TableOrSheet$Name
UNION ALL
SELECT Col1, Col2, Col6
FROM TableOrSheet$Name