我正在嘗試篩選 2021 年就診過的患者的報告,但如果患者在前幾年也曾就診過,我想將他們從報告中排除。 (因此,如果患者在 2018 年和 2021 年見過,我不希望他們拉)我還希望另一列中的數字大於等於並大於 10.0
B 欄 = 服務日期 C 欄 = 病人姓名 F 欄 = 數字指示符
過濾此公式或 =IF 公式的最佳方法是什麼?
這是一份醫療保健報告,因此由於患者資訊的原因,我無法提供該報告的內容。
答案1
正如評論中所建議的,這可以透過使用如下所示的公式的輔助列來完成:
=AND(F2>=10,COUNTIFS(C:C,C2,B:B,"<"&DATE(2021,1,1))=0)
確保調整引用F2
並C2
匹配貼上公式的行。之後,您可以上下複製該列,這些引用將自動更新。以下是它的工作原理:
AND()
要求裡面的所有條件都為 true,否則回傳 false。我們有2個條件:
F2>=10
很簡單。COUNTIFS()
計算有多少記錄滿足多個條件。它們以範圍+條件對的形式出現,其中有兩個:C:C,C2
僅計算整個 C 列中與該行中的值(該行上的患者姓名)相符的那些值B:B,"<"&DATE(2021,1,1)
僅計算 2021-01-01 之前(即 2021 年之前)的日期。
如果COUNTIFS()
傳回 0(表示在任何更早的年份都沒有找到患者)且 F 中的數字大於或等於 10,則該AND()
函數將傳回 true。否則,返回 false。
將公式複製/貼上到表格的每一行,然後按該列進行篩選。你想要那些回傳 true 的。
答案2
請檢查以下資訊是否對您有幫助。
=IF(D4>=10,IF(ISNA(VLOOKUP(C4,$C$10:$C$13,1,FALSE)),B4:D4,""),"")
產生Result表後,只需將Result表的Value複製到新表中即可。然後參考這刪除所有空白行。