教你如何計算兩個相同數字之間的行距

今天講的是查找兩個相同數字所最近的行數,這個問題相對偏一點,但碰到的話,這裡可以幫助到你。下面以例子開講了。 一、問題描述:在A列找到與最後一個數“2”相同且最近的數,得到這兩個數字“2”所在單元格相距多少行。


教你如何计算两个相同数字之间的行距​二、問題解答:=IFERROR(SUM(LARGE(IF(A1:A16=A16,ROW(A1:A16)),{1,2})*{1,-1}),"")PS:數組公式最外面的大括號{…}並不是手動加上去的,是輸入完公式後不要按Enter或者Tab鍵切換單元格,要同時按下Ctrl+Shift+Enter(按此順序依次按下不要放手,最後一起放)。(類似操作及說明僅在第一次出現時註明) 三、步驟解析 第一步:IF(A1:A16=A16,ROW(A1:A16)),判斷區域A1:A16中哪些與A16單元格內容相同,相同的返回行號,不同則返回FALSE(此處忽略了IF函數的第三參數)。本次計算得到結果為:{FALSE;FALSE;3;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;13;FALSE;FALSE;16} PS:數組不同行之間用“;”隔開,一行中用“,”隔開,這裡得到一個一列16行的數組,見上圖。 第二步:LARGE(IF(…),{1,2}),取出上一步得到的數組中的最大值和次大值,其實就是得到最後兩個等於A16的值“2”的單元格的行號。本次計算結果為:{16,13}。 第三步:SUM(LARGE(…)*{1,-1}) → SUM({16,13}*{1,-1}) → SUM({16,-13}) → 3PS:請看下圖

教你如何计算两个相同数字之间的行距​在SUM函數中直接將單元格區域相乘得到的結果是錯誤,而按三鍵結束確可以計算結果,不要問我為什麼! 第四步:IFERROR(SUM(…),””),防錯,如果上一步結果錯誤(#N/A!,#VALUE!等等)則返回空值,否則返回原值,在Excel中通常用“”””(兩個英文狀態輸入的雙引號)代表空值。 以上個人算法,如有更簡單易懂的方法,歡迎留言;


分享到:


相關文章: