使用TRANSPOSE
从 sheet1 上的列中填充 sheet2 上的标题时,当 sheet1 更新时,您能否阻止 sheet2 中的数据与标题不同步的问题。
我想不出任何优雅的解决方案,并且仍然希望能够直接在 sheet2 中添加数据,以及更新信息的能力在 sheet1 上。
我考虑将转置粘贴到 sheet2 中,因此它是静态的,但后来我从 sheet1 中丢失了任何更新强大>我觉得要确定需要做出哪些改变将更加困难。
在这张表中,我用来自密歇根州的啤酒厂填充了它。 然后我用转置标题和啤酒风格填充 sheet2 。 然后我随机给每个检查。
然后,在删除所有已关闭的密歇根啤酒厂之前,我使用静态 sheet2 数据创建了一个缓存副本。
您可以看到 sheet2 上的信息无效。
我希望阻止这一点。
我无法通过公式单独看到这种方法。我认为可能有一个脚本可以像Transpose一样复制列,但是当列标题移动,消失或添加时,还会在 sheet2 中移动数据。
答案 0 :(得分:1)
您要做的是在电子表格中使用交叉表来管理用户输入和存储数据。正如你已经发现的那样,这可能会在"标题"在源中被更改。
更好的方法是使用简单的表来存储数据。在提供的示例中,解决方案是为 Sheet1 添加每种啤酒的列以存储"检查"。
附注:由于密歇根州有许多啤酒厂,您可以通过使用过滤器并冻结一两行和一列来改善输入/数据存储表的电子表格可用性。
然后,要创建交叉表报表,请在新工作表中使用以下公式:
单元格B1:列标题
=transpose(Sheet1!$A$2:$A$26)
单元格A2:行标题
=transpose(Sheet1!$C$1:$H$1)
CELL B2:交叉选项卡值
=ArrayFormula(vlookup(B1:Z1,Sheet1!$A$2:$H$26,Match(A2:A7,Sheet1!$C$1:$H$1,0)+2,0))
由于单元格B2包含数组公式,如果您编辑任何所需的单元格以显示结果,您将收到如下错误
错误强>
数组结果未展开,因为它会覆盖引用中的数据。
因此,这将让您记住,您应该在源代码处编辑数据,例如,如果它是 Sheet1 。