Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel中切换行和列引用的公式_Vba_Excel - Fatal编程技术网

Vba Excel中切换行和列引用的公式

Vba Excel中切换行和列引用的公式,vba,excel,Vba,Excel,我有如下安排的原始数据: 第一行是试用号。那么每行中的第一个条目就是一个ID 我正在尝试设置此数据的模板。粘贴此数据时,我希望它被另一张图纸读取。此工作表将自动转换数据,使其看起来如下所示: 在这张纸上,我一直在尝试写一个公式,当垂直向下拖动时,它将水平递增。当我水平复制公式时,我需要它增加行引用,而不是列引用,以便它在上面的屏幕截图中重现最终结果 我试过一个公式的变体,比如 INDEX('Asset Returns'!$B$2:$Z$2,COLUMN()-1,ROW()-1) 但我还没能让它

我有如下安排的原始数据:

第一行是试用号。那么每行中的第一个条目就是一个ID

我正在尝试设置此数据的模板。粘贴此数据时,我希望它被另一张图纸读取。此工作表将自动转换数据,使其看起来如下所示:

在这张纸上,我一直在尝试写一个公式,当垂直向下拖动时,它将水平递增。当我水平复制公式时,我需要它增加行引用,而不是列引用,以便它在上面的屏幕截图中重现最终结果

我试过一个公式的变体,比如

INDEX('Asset Returns'!$B$2:$Z$2,COLUMN()-1,ROW()-1)

但我还没能让它像描述的那样工作。提前谢谢你对我做错了什么的建议

不确定我是否理解,但如果您正在做的是换位,但希望通过所有目标单元格中的公共forumla来完成,则可以使用以下方法:

=INDIRECT(ADDRESS(COLUMN(A1),ROW(A1),1,1,"Asset Returns"))
这应该粘贴到转置工作表的A1单元格中,或者如果数据不在A1单元格中,则相应地调整单元格引用

另一个选择是:

=OFFSET('Asset Returns'!$A$1,COLUMN(A1)-1,ROW(A1)-1)

粘贴特殊转置不适合你吗?我建议也粘贴特殊转置。这是最有意义的。不幸的是,我不需要将单元格地址作为另一个公式的一部分。事实上,如果你不介意的话,我有一个后续问题。你有没有一个非易失性函数可以做同样的事情的建议?这个解决方案是可行的,但是在一个大的数据集上它变得非常慢。我添加了第二个选项,它可能更有效。在Excel中处理大型数据集时,我发现了以下帮助:a关闭自动计算(如果可行)必要时使用F9刷新计算;b删除尽可能多的公式以复制和粘贴值;c在电脑中获得尽可能多的RAM;d尽可能使用Excel的内置功能。。。几乎可以肯定的是,这种方法比手动方法更有效。在这种情况下,如果可能的话,这将推动您使用带有转置的复制粘贴。谢谢!我做了那些改变,现在快多了。