簡體   English   中英

用於乘以 2 列的 Google Sheets ArrayFormula 解決方案,其中一列是一列數字列表

[英]Google Sheets ArrayFormula Solution for Multiplying 2 Columns, One of Which Is a Column of Lists of Numbers

我有 2 列輸入(A 和 B)和 1 列輸出(C),在設計時行數未知。 每行的輸入和輸出都是獨立的; 第 1 行不能影響第 2 行。

  • A 列包含 2 種可能的類型:正整數或由分號(“ ; ”)分隔的正整數列表。
  • B 列僅包含一個正整數。
  • C列是A列乘以B列的總和。

這是我為 C 列設計的基本公式: =IF(NOT(ISBLANK($A2)),IF(ISNUMBER($B2),$A2*$B2,$B2*SUM(SPLIT($A2,"; ")))),"") 它通過向下填充公式來工作,但是存在的SUM使其與ARRAYFORMULA不兼容。 為了穩健性(因為我不能指望用戶自己自動填充單元格,也不能避免對我仔細制定的公式造成嚴重破壞),我想要一個基於ARRAYFORMULA的解決方案,我可以把它塞進列中的一個受保護的單元格內C。

使用非ARRAYFORMULA解決方案的當前結果:

示例輸入和輸出表

前 4 行只是簡單的乘法, ARRAYFORMULA可以ARRAYFORMULA 最后填充的行代表(15+20+25)*1=60 ,我無法將其作為ARRAYFORMULA

我發現了一個類似的問題,不幸的是,它不適用於我的情況,因為最終的解決方案不使用ARRAYFORMULAsum 逗號分隔的整數字符串

嘗試:

=ARRAYFORMULA(IF((A2:A<>"")*(ISNUMBER(B2:B)), 
 MMULT(IFERROR(SPLIT(A2:A, ";")*1, 0), 
 ROW(INDIRECT("A1:A"&COLUMNS(IFERROR(SPLIT(A2:A, ";")*1, 0))))^0)*B2:B, ))

0

暫無
暫無

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

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