ฉันจะค้นหาวันที่ที่สอดคล้องกับผลรวมที่ระบุได้อย่างไร


1

สมมติว่าฉันมีข้อมูลสองแถว:

Date    1/5/2017    1/15/2017   1/20/2017   2/15/2017   2/25/2017   3/5/2017
Received    5           10          5           5           10         10

ฉันจะสร้างสูตรที่บอกฉันถึงวันที่ผลรวมของที่ได้รับเท่ากับ 20 ได้อย่างไร นี่จะเป็น 1/20/2017 ในตัวอย่างนี้

ฉันต้องการดึงข้อมูลวันที่ที่เชื่อมโยงไว้ในคอลัมน์ด้านบนเพื่อใช้งานหรือแสดงในตำแหน่งอื่น

ตอบได้

คำแนะนำด้านล่าง 2 ข้อเสนอวิธีแก้ปัญหาสำหรับคำถามที่ฉันเสนอ คำถามทั่วไปมากโดยไม่มีเฉพาะของฉันและคำตอบไม่เกี่ยวข้องกับสิ่งที่ฉันต้องการฟังก์ชั่นที่จะทำ คำถามใหม่จะถูกถามเกี่ยวกับรายละเอียดเฉพาะของฉัน


คุณต้องการส่งคืนวันที่ที่ดึงข้อมูลจากแถวบนสุดหรือเพียงแค่ระบุตัวบ่งชี้ในคอลัมน์ของวันที่นั้นหรือไม่ นอกจากนี้คำอธิบายของคุณยังชี้ไปที่คำตอบ 1/20 คุณช่วยอธิบายได้ไหมว่าทำไมมันถึง 2/15
fixer1234

ขออภัยนั่นเป็นข้อผิดพลาดในส่วนของฉัน มันคือ 1/20 ฉันต้องการคืนวันที่ที่ดึงมาจากแถวบนสุด @ fixer1234
Bartley Cai

คำตอบ:


2

พิมพ์สูตรนี้ใน B4 และเติมทางขวา:

=IF(SUM($B2:B2)=20,"Quota Met","")

คุณสามารถแทนที่ข้อความแจ้งเตือนใดก็ได้ที่คุณต้องการ ถ้าจำนวนรายการที่ได้รับอาจจะไม่เพิ่มขึ้นถึงว่า 20 แล้วคุณอาจต้องการที่จะใช้>=20ในส่วน SUM () ของสูตร

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข 1 : หรือถ้าคุณต้องการดูวันที่เมื่อรวมไอเท็มที่ได้รับเท่ากับ 20 ให้ใช้สูตรนี้และเติมทางด้านขวา:

 =IF(SUM($B2:B2)=20,B1,"")

คำเตือนเดียวกับที่กล่าวไว้ด้านบน

ป้อนคำอธิบายรูปภาพที่นี่

ขอบคุณสำหรับคำชมเชยและโหวตขึ้น @ fixer1234

แก้ไข 2 : หากคุณต้องการให้คำตอบอยู่ในเซลล์เดียวโดยไม่ต้องเติมสมการข้ามคอลัมน์ให้พิมพ์ใน B4 เป็นสูตรอาร์เรย์ (ป้อนสูตรด้วย CTRL-Shift Enter)

=OFFSET(A1,0,MATCH(20,MMULT(N(TRANSPOSE(COLUMN(B2:G2))>=COLUMN(B2:G2)),TRANSPOSE(B2:G2))))

สำหรับการทำงานนี้จะต้องมีผลรวมสะสมเท่ากับ 20 ที่คำนวณจากแถวรายการที่ได้รับ

ป้อนคำอธิบายรูปภาพที่นี่


1
หลังจากการชี้แจง OP ปรากฎว่าสิ่งนี้จะไม่เป็นไปตามข้อกำหนด อย่างไรก็ตามมันยังคงเป็นวิธีที่ง่ายและฉลาดที่อาจเป็นประโยชน์กับผู้อ่านคนอื่น ๆ +1
fixer1234

มันเพิ่งเกิดขึ้นกับฉันว่าวิธีที่ 2 ของคุณสามารถให้คำตอบสำหรับคำถามนี้ได้โดยไม่ต้องใช้ฟังก์ชั่นการค้นหา ในตำแหน่งที่ต้องการคำตอบเพียงแค่เชื่อมค่าทั้งหมดในแถวผลลัพธ์ของคุณ: = B4 & C4 & D4 & E4 & F4 & G4 เนื่องจากเซลล์ที่ไม่สามารถใช้งานได้ทั้งหมดมีค่า Null การต่อข้อมูลจะเป็นวันที่ มันจะเป็นสตริงข้อความอย่างไรก็ตามหากจะใช้ในการคำนวณวันที่คุณจะต้องทดสอบว่า Excel จะจัดการกับมันเหมือนวันที่หรือไม่ คุณอาจจำเป็นต้องห่อในฟังก์ชันเพื่อคืนค่าตัวเลขที่สามารถใช้ในการคำนวณวันที่
fixer1234

1
หากคุณจะให้แถวกับวันที่คำนวณสูตรอาร์เรย์นี้จะค้นหาวันที่และเก็บเป็นวันที่หากจัดรูปแบบเช่น:=OFFSET(A4,0,MATCH(FALSE,(B4:G4=""),0))
Bandersnatch

คำถามนี้สนุกมาก :-)
Bandersnatch

ทำเครื่องหมายว่าเป็นคำตอบเพราะไม่ต้องการใช้แถวผลรวมที่กำลังทำงานอยู่
Bartley Cai

0

ดูเหมือนว่าฉันคำตอบควรเป็น 1/20/2017 ไม่ใช่ 2/15/2017 ... ซึ่งหมายความว่าฉันอาจไม่เข้าใจคำถาม

อย่างไรก็ตามสิ่งที่คุณต้องทำคือ

  • เพิ่มแถวบนสุดที่แสดงไม่ใช่ตัวเลขแต่ละตัวในแถวที่สอง แต่เป็นผลรวมทั้งหมด (นั่นคือ5 15 20 25 35 45)
  • ใช้ HLOOKUP เพื่อค้นหาค่าที่คุณต้องการ ( =HLOOKUP(20,B1:H2,2))

ฉันแก้ไขการจัดรูปแบบของแถวตัวอย่างที่ฉันให้หวังว่าจะช่วยขจัดความสับสน ฉันต้องการหลีกเลี่ยงการใช้ฟังก์ชั่นการค้นหาใด ๆ เพราะฉันคิดว่ามันจะกลายเป็นการสรุปคำถามของฉันอีกครั้ง (คำถามที่ฉันเสนอเป็นเพียงตัวอย่างคงที่) และเนื่องจากสูตรที่ร้องขอที่นี่เป็นเพียงส่วนเล็ก ๆ ของสูตรทั้งหมด
Bartley Cai

ฉันจะพยายามใช้ผลรวมสะสมที่คุณแนะนำ
Bartley Cai

1
@BartleyCai มันไม่ชัดเจนว่าสิ่งที่คุณคัดค้านคือฟังก์ชั่นการค้นหา นั่นเป็นวิธีที่สมเหตุสมผลในการทำสิ่งที่คุณต้องการ หากคุณไม่ต้องการแทรกแถวสะสมที่ด้านบนคุณสามารถบรรลุผลลัพธ์ที่คล้ายกันได้โดยเพิ่มแถวด้านล่างแถวรายการที่ได้รับและใช้ INDEX และ MATCH เพื่อดึงข้อมูลวันที่
fixer1234

อืมนั่นถูกต้องแล้ว ฉันเดาว่าฉันมีอคติกับฟังก์ชั่นการค้นหา คำถามของฉันที่เสนอนั้นกว้างเกินไปสำหรับสิ่งที่ฉันต้องทำและฉันก็พลาดรายละเอียดที่สำคัญเช่นกัน ฉันจะถามคำถามใหม่กับข้อมูลเฉพาะของฉันทั้งหมด
Bartley Cai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.