:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#21

Post by Totem »

:D แนบไฟล์มาให้แล้วครับ
count date 4_question_2.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#22

Post by snasui »

ปัญหากรณี ก2
1. ช่อง R15 ต้องได้ 12 วัน ได้จาก ช่อง O17 - P12 เกิดจาก S17 ไม่มี "รหัสไม่มีใน inm1" จึงต้องหาไปอีกบรรทัดเมือพบ S17 มี "รหัสมีใน inm1"
จึงได้นำวันทีช่อง O17 มาใช้

:D ที่อธิบายมานั้นไม่สอดคล้องกับเงื่อนไขเดิม ช่วยทบทวนใหม่ครับ

P12 เกี่ยวข้องกับ ก2 อย่างไรครับ :?:
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#23

Post by Totem »

snasui wrote:
ปัญหากรณี ก2
1. ช่อง R15 ต้องได้ 12 วัน ได้จาก ช่อง O17 - P12 เกิดจาก S17 ไม่มี "รหัสไม่มีใน inm1" จึงต้องหาไปอีกบรรทัดเมือพบ S17 มี "รหัสมีใน inm1"
จึงได้นำวันทีช่อง O17 มาใช้

:D ที่อธิบายมานั้นไม่สอดคล้องกับเงื่อนไขเดิม ช่วยทบทวนใหม่ครับ

P12 เกี่ยวข้องกับ ก2 อย่างไรครับ :?:
:D P 12 พิมพ์ผิดครับ

ทบทวนใหม่ครับ

1. ช่อง R15 ต้องได้ 12 วัน ได้จาก ช่อง O17 - P15 เกิดจาก S16 = "รหัสไม่มีใน inm1" จึงต้องหาไปอีก
บรรทัดเมือพบ S17 มี "รหัสมีใน inm1" จึงได้นำวันทีช่อง O17 มาใช้

จากสูตรเดิมที่ทำนั้น มีปัญหาที่ ก2 อย่างเดียว คือ

R15 ={=IF(AND(S15=IF(COUNT(SEARCH($L$2:$L$15,Q15))>0,"รหัสมีใน inm1",0),N15=N16,S15=S16),DAYS(O16,P15),0)}

เมื่อพบ S15 มี "รหัสมีใน inm1" บรรทัดต่อไป S16 = "รหัสไม่มีใน inm1" (ไม่ใช้) และไปใช้
บรรทัดต่อไป S17 = "รหัสมีใน inm1"
จะปรับสูตรไหนให้ครอบคลุม เงื่อนไขข้างต้นครับ

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#24

Post by snasui »

:D เซลล์ R2 ปรับสูตรเป็นด้านล่างครับ

=IF(OR(S2="รหัสไม่มีใน inm1",COUNTIF($N$2:N2,N2)=1,MAX(IF(N$2:N2=N2,IF(S$2:S2<>"รหัสไม่มีใน inm1",O$2:O2)))=0,MAX(IF(N$1:N1=N2,IF(S$1:S1<>"รหัสไม่มีใน inm1",P$1:P1)))=0),0,MAX(IF(N$2:N2=N2,IF(S$2:S2<>"รหัสไม่มีใน inm1",O$2:O2)))-MAX(IF(N$1:N1=N2,IF(S$1:S1<>"รหัสไม่มีใน inm1",P$1:P1))))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

คำตอบ 12 จะอยู่ที่เซลล์ R17

เนื่องจากค่าในคอลัมน์ S มีการวรรค 2 วรรค แต่สูตรในคอลัมน์ R นั้นได้เว้นวรรคเพียงวรรคเดียวเท่านั้น

ส่วนสูตรที่เขียนมาเองมีข้อจำกัดในการขยับไปหาค่าที่ต้องการเนื่องจากเงื่อนไขที่ใช้มีความซับซ้อนกว่าที่จะใช้สูตรเช่นนั้นครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#25

Post by Totem »

snasui wrote::D เซลล์ R2 คีย์สูตร

=IF(OR(S2="รหัสไม่มีใน inm1",COUNTIF($N$2:N2,N2)=1,MAX(IF(N$2:N2=N2,IF(S$2:S2<>"รหัสไม่มีใน inm1",O$2:O2)))=0,MAX(IF(N$1:N1=N2,IF(S$1:S1<>"รหัสไม่มีใน inm1",P$1:P1)))=0),0,MAX(IF(N$2:N2=N2,IF(S$2:S2<>"รหัสไม่มีใน inm1",O$2:O2)))-MAX(IF(N$1:N1=N2,IF(S$1:S1<>"รหัสไม่มีใน inm1",P$1:P1))))

Ctrl+Shift+Enter > Copy ลงด้านล่าง
snasui wrote::D เซลล์ R2 ปรับสูตรเป็นด้านล่างครับ

=IF(OR(S2="รหัสไม่มีใน inm1",COUNTIF($N$2:N2,N2)=1,MAX(IF(N$2:N2=N2,IF(S$2:S2<>"รหัสไม่มีใน inm1",O$2:O2)))=0,MAX(IF(N$1:N1=N2,IF(S$1:S1<>"รหัสไม่มีใน inm1",P$1:P1)))=0),0,MAX(IF(N$2:N2=N2,IF(S$2:S2<>"รหัสไม่มีใน inm1",O$2:O2)))-MAX(IF(N$1:N1=N2,IF(S$1:S1<>"รหัสไม่มีใน inm1",P$1:P1))))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

คำตอบ 12 จะอยู่ที่เซลล์ R17

เนื่องจากค่าในคอลัมน์ S มีการวรรค 2 วรรค แต่สูตรในคอลัมน์ R นั้นได้เว้นวรรคเพียงวรรคเดียวเท่านั้น

ส่วนสูตรที่เขียนมาเองมีข้อจำกัดในการขยับไปหาค่าที่ต้องการเนื่องจากเงื่อนไขที่ใช้มีความซับซ้อนกว่าที่จะใช้สูตรเช่นนั้นครับ
:D อาจารย์ สูตรที่ให้มาล่าสุดไปซ้ำกับสูตรก่อนหน้านี้ที่ อาจารย์ให้มาครับ

ปรับแล้วคำตอบ R17 ไม่ได้ 12 ครับ

สรุปคำตอบ R2:R18 ทีถูกต้องครับ มีดังนี้

R2 = 0
R3 = 2
R4 = 12
R5 = 0
R6 = 2
R7 = 14
R8 = 1
R9 = 0
R10 = 3
R11 = 0
R12 = 0
R13 = 0
R14 = 0
R15 = 0
R16 = 0
R17 = 12
R18 = 2

ขอบคุณครับ

count date 5_question.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#26

Post by snasui »

:D สาระสำคัญอยู่ที่บรรทัดนี้ครับ
snasui wrote:เนื่องจากค่าในคอลัมน์ S มีการวรรค 2 วรรค แต่สูตรในคอลัมน์ R นั้นได้เว้นวรรคเพียงวรรคเดียวเท่านั้น
หาก Copy สูตรจากความเห็นผมไปแล้วได้ค่าเท่าเดิม ควรจะตรวจสอบค่าวรรคในสูตร คำว่า "รหัสไม่มีใน inm1" ในสูตรจะเคาะวรรค 2 วรรคเพื่อให้เท่ากับค่าในคอลัมน S เพราะในคอลัมน์ S มีการวรรคไปสองวรรค

ภาพด้านล่างนี้คือสูตรและคำตอบที่ถูกต้องครับ
You do not have the required permissions to view the files attached to this post.
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#27

Post by Totem »

snasui wrote::D สาระสำคัญอยู่ที่บรรทัดนี้ครับ
snasui wrote:เนื่องจากค่าในคอลัมน์ S มีการวรรค 2 วรรค แต่สูตรในคอลัมน์ R นั้นได้เว้นวรรคเพียงวรรคเดียวเท่านั้น
หาก Copy สูตรจากความเห็นผมไปแล้วได้ค่าเท่าเดิม ควรจะตรวจสอบค่าวรรคในสูตร คำว่า "รหัสไม่มีใน inm1" ในสูตรจะเคาะวรรค 2 วรรคเพื่อให้เท่ากับค่าในคอลัมน S เพราะในคอลัมน์ S มีการวรรคไปสองวรรค

ภาพด้านล่างนี้คือสูตรและคำตอบที่ถูกต้องครับ
:D ขอบคุณครับอาจารย์ ผมอ่านไม่ถี่ถ้วนเองครับ :o ลองสูตรแล้วได้ตามต้องการครับ :thup: :idea:
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#28

Post by Totem »

:D เรียนอาจารย์และเพื่อนสมาชิก

มีคำถามเพิ่มเติมใน คอลัมน์ J ตั้งแต่ J2:J18 ให้นับเดือนย้อนหลัง คือ เดือนที่ 10
ตามตัวอย่างต่อไปนี้

ก1 มีเดือนย้อนหลัง in ที่เซล E3 และ out ที่เซล F2 ในเดือน 10 นับ 1 รายการ
ที่ J3=1
ก1 มีเดือนย้อนหลัง in ที่เซล E4 และ out ที่เซล F3 ในเดือน 10 นับ 1 รายการ
ที่ J4=1
ข1 มีเดือนย้อนหลัง in ที่เซล E6 และ out ที่เซล F5 ในเดือน 10 นับ 1 รายการ
ที่ J6=1
ข1 มีเดือนย้อนหลัง in ที่เซล E7 และ out ที่เซล F6 ในเดือน 10 นับ 1 รายการ
ที่ J7=1

เงื่อนไขยังสัมพันธ์กับ คอลัมน์ H ที่ใช้สูตรได้ตามเงื่อนไขไปแล้ว
คือหากไม่ตรงเงื่อนไขในสูตร คอลัมน์ H ก็ไม่นับรายการครับ

ขอบคุณครับ
นับจำนวนครั้งในเดือนย้อนหลัง.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#29

Post by snasui »

:D ช่วยให้นิยามคำว่า "ย้อนหลัง" ว่าพิจารณาอย่างไรจึงจะถือว่าย้อนหลังหรือไม่ย้อนหลังครับ :?:
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#30

Post by Totem »

snasui wrote::D ช่วยให้นิยามคำว่า "ย้อนหลัง" ว่าพิจารณาอย่างไรจึงจะถือว่าย้อนหลังหรือไม่ย้อนหลังครับ :?:
:D ผมมีข้อมูลอยู่ 2 เดือน คือให้เดือน 10 เป็น อดีต และเดือน 11 เป็นเดือนปัจจุบัน
เงื่อนไขนั้น เดือน 10 จึงเป็นเดือนย้อนหลัง และต้องเข้าสัมพันธ์กับคอลัมน์ H
การเข้าเงื่อนไขต้องมีเดือน 10 ในตอลัมน์ E , F และคอลัมน์ H จะเป็นจำนวนวันน้อยกว่า 28 วัน ให้นับ 1

ขอถามอีกกรณี ถ้าผมมีข้อมูลที่ใช้จำนวน 3 เดือน เช่น เดือน 10 , 11 , 12 แล้วต้องการให้นับเฉพาะเดือน 11
โดยมีเงื่อนไขว่ามีเดือน 11 ในตอลัมน์ E , F และคอลัมน์ H จะเป็นจำนวนวันน้อยกว่า 28 วัน ให้นับ 1

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31156
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#31

Post by snasui »

:D ตัวอย่างสูตร J2 คีย์

=IFERROR(AND(I2="รหัสมีใน inm1",I3="รหัสมีใน inm1",MONTH(E2)=MONTH(F1),MONTH(F1)=10)+0,0)

Enter > Copy ลงด้านล่าง

กรณีเดือนย้อนหลังไม่ใช่ 10 ให้เปลียนเลข 10 เป็นเลขใด ๆ ตามต้องการครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: นับจำนวนวันที่กำหนดและเปรียบเทียบรายการว่ามีหรือไม่

#32

Post by Totem »

snasui wrote::D ตัวอย่างสูตร J2 คีย์

=IFERROR(AND(I2="รหัสมีใน inm1",I3="รหัสมีใน inm1",MONTH(E2)=MONTH(F1),MONTH(F1)=10)+0,0)

Enter > Copy ลงด้านล่าง

กรณีเดือนย้อนหลังไม่ใช่ 10 ให้เปลียนเลข 10 เป็นเลขใด ๆ ตามต้องการครับ
:D ขอบคุณครับ ได้ตามที่ต้องการครับ
Post Reply