Excel中的數字相減 - 三列中的數字,並非所有列都包含數據,從最早收集的數據中減去最新收集的數據

Excel中的數字相減 - 三列中的數字,並非所有列都包含數據,從最早收集的數據中減去最新收集的數據

我有一個包含大量行的電子表格。每行有 3 個欄位(B、C、D),可以包含在三個不同時間點收集的數值資料。 B=第一時間點,C=第二時間點,D=第三時間點。當無法在給定時間點收集資料時,儲存格包含零。

對於每一行,我想

  1. 為每一行建立一個「總計列」(E 列)。
  2. 對於僅包含一個數字的任何行(無論是在 B、C 或 D 列中),請在總計列(E 列)中輸入“無結果”
  3. 最早資料擷取時間點列中包含數字的數字減去最新資料擷取時間點中包含數字的數字

有人可以幫忙嗎?

答案1

您可以將陣列公式與 IF、COUNTIF、LOOKUP 和 INDEX 函數組合使用。

儲存格 E2(總計列)公式:

=IF(COUNTIF(B2:D2,">0") < 2, "no result",LOOKUP(9.999999999E+307,IF(B2:D2>0,B2:D2)) - INDEX(B2:D2,MATCH(TRUE,INDEX(B2:D2>0,0),)))

在公式中,按 CTRL + SHIFT + ENTER 取得這些大括號,使其成為陣列公式。將其拖下來。

首先,它計算行中大於 0 的值的數量。如果少於2個,則顯示「無結果」。否則,運行公式的其餘部分。剩下的部分是查找行中最後一個非零值並減去行中第一個非零值。

在此輸入影像描述

答案2

歡迎史蒂芬。雖然isolated的答案是boss層級並且可以推斷任意數量的輸入列,但這個簡化的公式也應該適用於最簡單的3列輸入場景

=IF(COUNTIF(B2:D2,">0") < 2, "No result", IF(B2=0,D2-C2,IF(D2=0,C2-B2,D2-B2)) )

答案3

鑑於列數較少,我傾向於保持它非常簡單,以便任何人都可以遵循邏輯並排除故障。例如:

=IF(COUNTIF(B2:D2,">0")<2,"No result", IF(D2>0,D2,C2)-IF(B2>0,B2,C2))

相關內容