簡體   English   中英

如何將嵌套數組中的值相乘……乘以另一個數組中的值(在 Google 表格中)?

[英]How to multiply values within a nested array…times values in an another array (in Google Sheets)?

這很難解釋,所以我的標題很爛,這只是我對如何解決這個問題的最佳猜測。 我有一份關於各種瓶裝康普茶的谷歌銷售數據表。 E 列是銷售日期,G 列包含項目代碼,J 列是上述案例的銷售數量。 查看我的(大大簡化的)示例數據:

https://docs.google.com/spreadsheets/d/17-LzGrNJtBr-FwOZtdaoCws3ayeGOHu_TdtGOfXj4cA/edit?usp=sharing

請參閱下面我當前的測試代碼(也存在於鏈接電子表格的“公式”選項卡中)。 它成功地為我提供了半升瓶子和咆哮者的總銷量。 E4 和 E5 中的值分別是包含我的開始日期和結束日期的單元格,因此我將結果限制在特定日期范圍內。

這段代碼有效,但現在我需要找出一種方法來計算售出的瓶子總數而不是箱數。 數據集已經非常龐大,並且突破了 google 表格的限制,因此在源數據表中添加一個列,其中包含每箱瓶數 # 是不可行的。 半升的箱子可容納 13 瓶,而咆哮者可容納 5 瓶。我目前的方法有沒有辦法做到這一點,也許使用另一個陣列? 或者任何其他使公式盡可能簡單的方法?

僅供參考,當前公式是概念證明,我將在現有公式中添加許多其他類型的箱子,每個箱子包含不同數量的瓶子,並將其用作更大的動態公式的一部分,允許您在之間切換顯示 # 個案例 vs # 個瓶子 vs # 實際售出的升數,所以這就是為什么我希望找到一種基於數組的方法,它可以讓我做到這一點,而無需求助於嵌套 IF 語句的荒謬冗長和復雜的公式。

=SUMPRODUCT(--((XeroInvoiceData!$E$3:$E>=B4)*(XeroInvoiceData!$E$3:$E<=B5)), (--(ISNUMBER(MATCH(XeroInvoiceData!$G$3:$G, {"HalfLiterCase","GrowlerCase"}, 0)))), XeroInvoiceData!$J$3:$J)

我將永遠感激任何幫助。

這是我的解決方案: https://docs.google.com/spreadsheets/d/1ig0krumJu4Lj9-nIKJyRfPLTYbU-mzOL0JokRUDEqNc/edit?usp=sharing

我的想法是按日期過濾您的表格並按容器類型求和。 我還希望允許包含較小單位(瓶子或升)的新型容器。

在此處輸入圖像描述

我把這份工作分為三個階段。

首先,我們必須根據選定的日期和容器類型過濾此表。 我准備了一個可以擴展的列表(您需要的只是擴展過濾器范圍)。

在此處輸入圖像描述

然后我必須在每個容器中查找單位的值,並嘗試在同一個公式中進行。 總體思路是

={[query results],arrayformula(ifna(vlookup([first column of query],$C$21:$D$26,2,0)*[second column of query])}

我把它分為2個階段。 第一階段是指相鄰表中的查詢結果:

在此處輸入圖像描述

第二階段使用查詢索引,因此公式很長:

在此處輸入圖像描述

告訴我它是否能解決你的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM