สูตรอาร์เรย์ของ Excel เพื่อค้นหาวันที่ที่เล็กที่สุดด้วยหลายเกณฑ์


2

สูตรอาร์เรย์ที่ฉันมีจะให้วันที่ที่เล็กที่สุดจากตารางบริการตามเกณฑ์ต่อไปนี้:

  1. ค่าในคอลัมน์รายการตรงกับรายการ # ในเซลล์ A1
  2. มูลค่าในคอลัมน์จำนวน & gt; 0

=MIN(IF((IF(Service[Item]=$A1,TRUE)*IF(Service[Amount]>0,TRUE))>0,Service[Date],"z"))

เพิ่ม "z" เป็นวิธีเดียวที่ฉันจะได้รับการยกเว้น 0 / FALSEซึ่งมักจะอ้างว่าตัวเองเป็นค่าที่เล็กที่สุด มีวิธีที่สะอาดกว่าในการคำนวณสิ่งนี้หรือไม่? มันจะเป็นส่วนหนึ่งของสูตรที่ซับซ้อนมากขึ้น

คำตอบ:


4

คุณควรจะสามารถใช้สูตรโดยไม่มีส่วนใน IF s:

=MIN(IF((Service[Item]=$A1)*(Service[Amount]>0),Service[Date],9^99))

(Service[Item]=$A1) ถ้านี่เป็นจริงมันจะกลับมาเป็นจริงโดยอัตโนมัติ เหมือนกันสำหรับข้อความถัดไป และเมื่อคุณคูณทั้งสองคุณจะได้ชุดของ 0s และ 1 ซึ่ง excel ถือว่าเป็นเท็จและจริงตามลำดับ

และใช้ฉันไม่แน่ใจว่าใช้ z ทำงานให้คุณ มันส่งคืนฉัน #VALUE! เห็นได้ชัด ...


1
ขอบคุณ - มันใช้งานได้อย่างสมบูรณ์แบบแถมยังสะอาดและอ่านง่ายขึ้น ฉันเปลี่ยน 9 ^ 99 เป็น "z" เนื่องจากเป็นส่วนหนึ่งของสูตรที่ใหญ่กว่าและต้องเป็น 0 หรือค่าวันที่ต่ำสุด "z" ใช้งานได้เนื่องจาก MIN ไม่รวมสิ่งใด ๆ ที่ไม่ใช่ตัวเลข
user2137354

@nethy เอาล่ะตราบใดที่มันเหมาะกับคุณ! ^^
Jerry

1
ในความเป็นจริงคุณไม่จำเป็นต้องมี "z" เช่นกันคุณก็สามารถละทิ้งสิ่งนั้นได้นั่นคือ =MIN(IF((Service[Item]=$A1)*(Service[Amount]>0),Service[Date])) - ด้วยเวอร์ชัน FALSE นั้นจะถูกส่งคืนสำหรับแถวที่เกณฑ์ไม่ตรงกันและ FALSE จะถูกละเว้นในบริบทนี้
barry houdini

TRUE! ฮ่าฮ่า ... เข้าใจแล้ว ... ขอบคุณสำหรับเคล็ดลับสูตรใช้งานได้ดีและไม่จำเป็นสำหรับ "z"
user2137354
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.