【问题标题】:Transposing items with prices to separate section将带有价格的项目转移到单独的部分
【发布时间】:2015-04-14 21:50:40
【问题描述】:

在 Google 表格中,我试图将项目列表及其价格(按行显示)转换为自动在相邻部分中显示为列。问题是我只需要包含有价格的项目。这证明了我正在尝试做的事情:

预期结果:

我在“计划”部分有一个带有价格的商品列表,其中列出了商品和价格,并且只需要转置商品有价格的行的数据,并在“详细信息”中仅显示商品及其相应的价格“ 部分。

这是我目前工作的模型:

当前版本:

问题在于它列出的商品是否有价格。它还在不相关的列中列出了这些项目及其价格。

目前我在以下公式中使用命名范围:Category1_Items 和 Category2_ItemsPrice_1Price_2

=ARRAYFORMULA(SPLIT(JOIN("~~~",Category1_Items,Category2_Items,),"~~~"))
=ARRAYFORMULA(SPLIT(JOIN("~~~",Price_1,Price_2,),"~~~"))

我知道这不是很接近我需要的东西,但它已经尽可能接近了,因为我有点像 Sheets 的新手。

如果可能的话,我想在不借助脚本的情况下实现这一目标!

【问题讨论】:

    标签: google-sheets transpose google-sheets-formula google-sheets-query


    【解决方案1】:

    可能有一些细微的细节被遗漏了,这会阻止它起作用,但也许可以尝试:

    =TRANSPOSE(QUERY({Category1_Items,Price_1;Category2_Items,Price_2},"select * where Col2 != ''",0))

    注意,如果价格实际上是数值(而不是您的示例中的字符串),您需要将 != '' 更改为 is not null

    【讨论】:

    • 这就像一个魅力!我得到了那部分工作,但我有一个后续问题。有没有办法也乘以 TRANSPOSE 函数的结果?这是有效的公式:=IF(ISNUMBER(O7),TRANSPOSE(QUERY({Giving_All},"select Col5 where Col5 is not null",1)),"") 但是当我添加乘法步骤时,它停止工作。这是我尝试过的:=IF(ISNUMBER(O7),TRANSPOSE(QUERY({Giving_All},"select Col1 where Col5 is not null",1)*O7),"") 现在它包括乘法步骤,但只返回系列中的第一个单元格。有没有办法解决这个问题?
    • 将整个公式包装在ArrayFormula() 中,您可以通过使用 Ctrl+Shift+Enter(而不是 Enter)确认公式来完成。
    • 谢谢!这真的很有帮助。但我想我过度简化了我的问题。我希望乘以引用范围内的一个单元格。因此,假设 Col5 为 5,Col 1 为 10%,则让它返回 5*10% 的结果作为结果。使用 ArrayFormula 效果很好,但是当我尝试引用命名范围中的任何内容时,我只会收到错误。
    • 您可能需要编辑问题并进一步解释一下,Geoff。您可以在 QUERY 中使用 "select Col1 * Col5...",但这可能会再次过度简化您的要求。
    猜你喜欢
    • 2016-02-19
    • 2015-11-24
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2014-09-14
    相关资源
    最近更新 更多