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

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

ฉันต้องการสร้างสูตร AVERAGE ของ 30 วันที่ผ่านมา โดยที่ Date = วันนี้ (วันจันทร์) (ฉันต้องการวันธรรมดาในวันจันทร์ เนื่องจากเป็นเวลาที่พนักงานส่งใบแจ้งหนี้)

หวังว่านี่จะสมเหตุสมผล มันยากจริงๆ!

นี่คือวิดีโอของฉันที่อธิบายผลลัพธ์ที่ต้องการ

https://www.loom.com/share/3a9cb75052b246d1af2ba2f9ce9180a7

ฉันทำตามคำแนะนำหลายข้อแล้ว แต่ไม่เข้าใจ

=ArrayFormula(iferror(query(average(if(today() - weekday(today(),3)-30)))))

ฉันคาดหวังไว้ว่าราคาเฉลี่ยอยู่ที่ 90 ดอลลาร์แต่ฉันก็ว่างเปล่า


person Jason K Williamson    schedule 31.05.2019    source แหล่งที่มา
comment
แม้ว่าการใช้วิดีโอเพื่ออธิบายคำถามของคุณเป็นความคิดที่ดี แต่จะเกิดอะไรขึ้นหากวิดีโอของคุณใช้งานไม่ได้ แต่คำถามของคุณที่นี่จะไม่สามารถแก้ไขได้อีกต่อไป คุณควรให้คำอธิบายโดยละเอียดเกี่ยวกับสิ่งที่คุณต้องการบรรลุผลสำเร็จ พร้อมทั้งข้อมูลตัวอย่างและเค้าโครง และผลลัพธ์ที่คาดหวังของคุณ ตลอดจนทุกสิ่งที่คุณได้ลองมาแล้ว   -  person 5202456    schedule 31.05.2019


คำตอบ (2)


คุณสามารถใช้สูตรนี้:

=ค่าเฉลี่ย(VLOOKUP(วันนี้()-วันธรรมดา(วันนี้(),2)+1,A:H,2,FALSE),VLOOKUP(วันนี้()-วันธรรมดา(วันนี้(),2)-6,A:H, 2,FALSE),VLOOKUP(วันนี้()-WEEKDAY(วันนี้(),2)-13,A:H,2,FALSE),VLOOKUP(วันนี้()-WEEKDAY(วันนี้(),2)-20,A: H,2,เท็จ))

หากต้องการแยกย่อยออกเป็นส่วนต่างๆ ค่าเฉลี่ยจะนำมาจากผลลัพธ์ VLOOKUP:

VLOOKUP(วันนี้()-วันธรรมดา(วันนี้(),2)+1,A:H,2,FALSE)

VLOOKUP กำลังมองหาวันจันทร์สุดท้ายจากวันที่ปัจจุบัน:

วันนี้()-วันธรรมดา(วันนี้(),2)+1

แล้ว

วันนี้()-วันธรรมดา(วันนี้(),2)-6

และอื่นๆ...

เมื่อใช้งานบนชีต คุณจะต้องระบุคอลัมน์ที่คุณต้องการอ้างอิงในการค้นหา สำหรับ คอลัมน์ B (brand1) ให้ใช้: A:H,2,FALSE) สำหรับ คอลัมน์ C (brand2) ใช้: A:H,3,FALSE) สำหรับ คอลัมน์ d (brand3) ใช้: < b>A:H,4,FALSE) และอื่นๆ...

person 5202456    schedule 31.05.2019
comment
ขอบคุณมากที่สละเวลาทำเช่นนี้! ฉันซาบซึ้งมาก! ดูซับซ้อนมาก ฉันดีใจมากที่คุณช่วย ขอบคุณ - person Jason K Williamson; 02.06.2019

=INDEX(QUERY({INDIRECT("A2:D"&ROW()-1)}, 
 "select avg(Col2),avg(Col3),avg(Col4) 
  where Col1 <= date '"&TEXT(TODAY(),    "yyyy-MM-dd")&"' 
    and Col1 >= date '"&TEXT(TODAY()-30, "yyyy-MM-dd")&"'"), 2, )

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

person player0    schedule 31.05.2019
comment
@JasonKWilliamson webapps.stackexchange.com/help/someone-answers - person player0; 02.06.2019