คำนวณจำนวนวันอาทิตย์ในเดือน


8

ใน Microsoft Excel ฉันต้องการกำหนดจำนวนวันอาทิตย์ในแต่ละเดือน ฉันกำลังรวบรวมสเปรดชีตงบประมาณและบัญชีย่อยบางบัญชีได้รับเงินพิเศษเมื่อห้าวันอาทิตย์อยู่ในเดือนแทนที่จะเป็นสี่เดือน

เซลล์เดียวที่ฉันต้องอ้างอิงคือชื่อของชีตที่อยู่ในเซลล์ A1 และเท่ากับเดือนปัจจุบัน ตัวอย่างเช่น6/1/14

คำตอบ:


12

ลองที่นี่A1เป็นวันเริ่มต้นของเดือน:

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))),"ddd")="Sun"))

นอกจากนี้คุณยังสามารถใช้สิ่งนี้สำหรับวันใด ๆ ของสัปดาห์เพียงแค่เปลี่ยน"Sun"และช่วงวันที่ใด ๆ โดยแทนที่A1ด้วยวันที่เริ่มต้นและEOMONTH(A1,0)วันที่สิ้นสุด


1
ว้าว. นี่เป็นความคิดสร้างสรรค์จริงๆ ให้ฉันเข้าใจ เราสร้างค่าวันที่สำหรับทั้งเดือนด้วยฟังก์ชันทางอ้อมและแถว? จากนั้นเราแปลงให้เป็นข้อความในรูปแบบของ Sun, Mon และอื่น ๆ เราประเมินสภาพของ Sun และเปลี่ยนผลลัพธ์เป็นหนึ่งหรือศูนย์แล้วรวมผลลัพธ์ ถูกต้องไหม
wbeard52

ใช่แล้ว .. :)
Jay-ar

9

หากวันที่คุณกล่าวถึงเป็นวันแรกของเดือนเสมอวันนี้จะใช้งานได้:

=INT((WEEKDAY(A1-1)+EOMONTH(A1,0)-A1)/7)

ง่าย สง่ามากเมื่อเทียบกับสูตรของฉันด้านบน ขอบคุณ
wbeard52

3

คล้ายกับคำตอบก่อนหน้านี้ แต่สะอาดขึ้นเล็กน้อย ...

=SUMPRODUCT(N(WEEKDAY(ROW(INDIRECT(A1&":"&EOMONTH(A1,0))))=1))

3
=DAY(EOMONTH(A1,0))-NETWORKDAYS.INTL(A1,EOMONTH(A1,0),11)

แก้ไข: ใช้งานได้ใน Excel 2016 ไม่แน่ใจว่าเมื่อใช้ NETWORKDAYS.INTL


NETWORKDAYS.INTL มันไม่ได้ทำงานกับ Excel คืออะไร
Yass

อาคุณพูดถูก ฉันไม่เห็นว่าเขาอ้างถึง Excel 2010 ฉันมี 2016 ซึ่งแตกต่างจากวันเครือข่าย Networkdays.intl ช่วยให้คุณเลือกวันหยุดสุดสัปดาห์ ในกรณีนี้ฉันบอก Excel ว่าวันหยุดสุดสัปดาห์เป็นวันอาทิตย์เท่านั้นนั่นคือสิ่งที่ 11 หมายถึง ดังนั้นจะให้จำนวนวันในช่วงเวลาที่ไม่นับวันอาทิตย์
SRCP

NETWORKDAYS.INTLสามารถใช้ได้ตั้งแต่Excel 2010 คุณสามารถดูหมายเลข 2010 ข้างชื่อ ดูภาพหน้าจอของมันทำงานใน Excel 2010
phuclv

1

ฉันเชื่อว่าฉันได้พบวิธีอื่นในการดูแลแมวตัวนี้ (เพื่อพูด)

หากคุณต้องการหลีกเลี่ยงการป้อนวันที่และมีแผ่นขนาดใหญ่สำหรับการฉายภาพ (เช่น 18 เดือนเป็นต้น) คุณสามารถบอกสูตรว่าเดือนและปีของคุณคืออะไรและจัดรูปแบบตามนั้น สิ่งนี้เข้าร่วมกับการอ้างอิงที่แน่นอนไปยังเซลล์ส่วนหัวซึ่งมีวันของสัปดาห์ที่เป็นปัญหาและคุณมีตารางขนาดกะทัดรัดและสะอาดกว่า (ในความคิดของฉัน)

A3 = ม.ค. , B3 = 2017, C2: I2 = 3 ตัวย่อ Char Day (เช่น SUN)

ป้อนสูตรลงในเซลล์ C3

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy"))&":"&EOMONTH(DATEVALUE(TEXT(CONCAT($A3,"/",$B3),"mm/dd/yyyy")),0))),"ddd")=C$2))

การล่าสัตว์ที่มีความสุข


1

มีการเปลี่ยนแปลงเล็กน้อยของคำตอบที่ได้รับการยอมรับA1ที่คุณไม่จำเป็นต้องเป็นวันแรกของเดือน

นี่คือความสำเร็จโดยแทนที่A1ด้วย:

date(year(today()),month(today()),1)

นี่คือสมมติว่าคุณต้องการสำหรับเดือนปัจจุบัน

=SUMPRODUCT(N(TEXT(ROW(INDIRECT(date(year(today()),month(today()),1)&":"&EOMONTH(date(year(today()),month(today()),1),0))),"ddd")="Sun"))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.