snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#1
Post
by yinsiang » Thu May 14, 2020 11:33 am
สอบถามอาจารย์หน่อยครับว่า จากข้อมูลที่แนบผมจะทำสูตร VLOOUP
อ่านค่าวันที่ ทะเบียน ใช้น้ำมันเท่าไหร่โดยที่สูตรจะไม่มีการอ่านข้อมูลซ่ำเนื่องจากบางครั้ง ทะเบียนคันเดิม เติมน้ำมันวันที่เดิมถ้าสูตรอ่านซ่ำข้อมูลก็จะไม่ตรง ไม่แน่ใจว่าสามารถนำสูตรตัวไหนมาใช้ได้บ้างครับ
ขอบพระคุณอาจารย์ล่วงหน้า
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31153 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Thu May 14, 2020 8:25 pm
ตัวอย่างสูตรครับ
เซลล์ D8 คีย์
=SUMPRODUCT(--('Daily Report'!$F$2:$F$5=$B8),--('Daily Report'!$B$2:$B$5+0=$D$6),--('Daily Report'!$L$2:$L$5 ))
Enter ปรับตำแหน่งที่ระบายสีในสูตรเพื่อนำไปใช้กับเซลล์ที่เหลือ
โดยที่เซลล์ D6 ใน Sheet1 จะต้องเป็นวันที่ที่มีอยู่จริงในช่วงเซลล์ B2:B5 ในชีต Daily Report
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#3
Post
by yinsiang » Fri May 15, 2020 10:49 am
ขอบคุณมากๆครับ
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#4
Post
by yinsiang » Thu Jun 11, 2020 1:39 pm
เรียน อาจารย์ ทุกท่านครับ
พอดีตามที่อาจารย์ได้สร้างสูตรให้แล้วผมได้ทำแต่ติดตรงที่คอลัมน์ O7 มีการบวกจำนวนทั้งหมดของวันนั้นๆ อยากให้สูตรอ่านจุดเริ่มต้น และตรงคอลัมน์ P7 ให้สูตรจับตัวเลขที่มากสุดของวันนั้นๆใส่ P7 ครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31153 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#5
Post
by snasui » Thu Jun 11, 2020 8:28 pm
ตัวอย่างสูตรครับ
O7 คีย์
=AGGREGATE(14,6,('Daily Report'!$F$3:$F$258=$C7)*('Daily Report'!$B$3:$B$258+0=$O$3)*('Daily Report'!$K$3:$K$258),1)
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#6
Post
by yinsiang » Fri Jun 12, 2020 10:56 am
ขอบคุณอาจารย์มากครับ
แต่ยังติดนิดเดียวครับอาจารย์ ในSHEET KPI ซึ่งผลลัพท์ ในคอลัมน์ O7 จริงๆต้องได้ค่า 661,189 ตามที่ผมไฮไลลูกศรไว้ครับต้องแปลงสูตรตัวไหนได้บ้างครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31153 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#7
Post
by snasui » Sat Jun 13, 2020 6:53 am
yinsiang wrote: Thu Jun 11, 2020 1:39 pm
เรียน อาจารย์ ทุกท่านครับ
พอดีตามที่อาจารย์ได้สร้างสูตรให้แล้วผมได้ทำแต่ติดตรงที่คอลัมน์ O7 มีการบวกจำนวนทั้งหมดของวันนั้นๆ อยากให้สูตรอ่านจุดเริ่มต้น และตรงคอลัมน์ P7
ให้สูตรจับตัวเลขที่มากสุดของวันนั้นๆใส่ P7 ครับ
yinsiang wrote: Fri Jun 12, 2020 10:56 am
ผลลัพท์ ในคอลัมน์ O7 จริงๆต้องได้ค่า
661,189 ตามที่ผมไฮไลลูกศร
ตามเงื่อนไขที่แจ้งมา คำตอบไม่ใช่ 661,189 แต่เป็น 661,300 ครับ
กรุณาทบทวนเงื่อนไขใหม่ครับ
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#8
Post
by yinsiang » Tue Jun 16, 2020 3:58 pm
เรียน อาจารย์ ครับ
ที่คอลัมน์ O7 คือ สูตรต้องเริ่มต้นตัวเลขที่เติมน้ำมันครั้งแรกครับ เพราะว่าต้องรันกันต่อเนื่องครับ และ P7 คือผลบวกที่เติมรวมกัน2 รอบในวันเดียวกันครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31153 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#9
Post
by snasui » Tue Jun 16, 2020 6:30 pm
yinsiang wrote: Tue Jun 16, 2020 3:58 pm
สูตรต้องเริ่มต้นตัวเลขที่เติมน้ำมันครั้งแรกครับ
ไม่เข้าใจครับ
อธิบายเงื่อนไขมาใหม่เป็นลำดับไป จะได้ทราบว่ามีกี่เงื่อนไข อะไรบ้าง ฯลฯ ครับ
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#10
Post
by yinsiang » Wed Jun 17, 2020 9:49 am
เรียน อาจารย์ ครับ
1.โทษทีครับที่อธิบายไม่ชัดเจนครับ ใน SHEET KPI คือผมหาค่าเลขไมค์ว่าจำนวนเลขไมค์ที่เติมเริ่มแรกคือ คอลัมม์ E5 แล้วจบที่คอลัมน์ F5 โดยยอดร่วมเลขไมล์ที่ใช้ไปทั้งหมดจะอยู่ในคอลัมน์ G7 ก้จะเป็นแบบนี้ทุกๆวันครับ
2.ถ้ากรณีอย่างวันที่ 3 ที่มีการเติมน้ำมัน 2 รอบ เริ่มแรกที่คอลัมน์ O7 คือจำนวนต้องได้ 661,189 เพราะของวันที่ 2 ที่เลขไมค์สุดท้ายคือ 661,189 และก็จบที่ไมล์ 661,350 ชึ่งถูกต้องตามที่อาจารย์ทำสูตรให้เลยครับ ก็เลยไม่แน่ใจว่าสูตรตรงคอลัมน์ O7 ต้องแก้สูตรยังไงได้บ้างครับ
logic
Gold
Posts: 1511 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#11
Post
by logic » Wed Jun 17, 2020 10:13 am
เดาว่าเป็นแบบนี้ครับ
E7 =LOOKUP(2,1/('Daily Report'!$F$3:$F$258=$C7 )/('Daily Report'!$B$3:$B$258+0=$E$3),'Daily Report'!K$3:K$258 ) คัดลอกไปใช้กับคอลัมน์ขวามือ เปลี่ยนที่ระบายสีให้ตรงกับที่ต้องการ
ถ้าสูตรนี้ใช้ได้ เงื่อนไขคือ หาบรรทัดสุดท้ายของทะเบียนในคอลัมน์ C ตามวันที่ในบรรทัดที่ 3
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#12
Post
by yinsiang » Wed Jun 17, 2020 12:17 pm
ขอบคุณครับอาจารย์
ตรงสูตรที่ O7 จำนวนเลขไมล์ต้องเป็น 661189 ครับโดยเลขไมล์ต้องนับต่อจาก K7 ครับอาจารย์ครับ
ไม่แน่ใจว่าสูตรสามารถที่สร้างยังไงได้บ้างครับ
You do not have the required permissions to view the files attached to this post.
logic
Gold
Posts: 1511 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#13
Post
by logic » Wed Jun 17, 2020 12:27 pm
ดูแล้วเหมือนต้วเดียวกันกับ K7 มันนับต่อกันแบบไหน อ่านแล้วไม่เข้าใจเหมือนกันครับ
ถ้ามันเท่ากันก็ไปลิงก์มาใช้ไม่สะดวกกว่าหรือครับ
สูตรนี้ก็เขียนเดา ๆ ไปว่าต้องกาตัวแรกที่เจอ กลับด้านกับสูตรข้างบน
O7 =INDEX('Daily Report'!$K$3:K$258,MATCH(1,INDEX(1/('Daily Report'!$F$3:$F$258=$C7)/('Daily Report'!$B$3:$B$258+0=$O$3),0),0))
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#14
Post
by yinsiang » Wed Jun 17, 2020 3:22 pm
ได้แล้วครับ ขอบคุณมากๆครับ
อาจารย์ครับถ้าอยากให้สูตร เวลาอ่านไม่ได้ให้เป็น 0 ไม่อยากให้เป็น #N/A ในสูตรข้างบนต้องแก้ไขตัวไหนได้บ้างครับเพราะมันจะมีสูตรอีกสูตรที่อาจารย์ทำก่อนหน้านี้เวลาสูตรไม่อ่านก็จะเป็น 0 ครับ
logic
Gold
Posts: 1511 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#15
Post
by logic » Wed Jun 17, 2020 3:33 pm
จับ Error แบบนี้ครับ
=Iferror(สูตร,0) ถ้าสูตรเป็น N/A มันก็จะโชว์เป็น 0 แทน
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#16
Post
by yinsiang » Wed Jun 17, 2020 3:43 pm
=Iferror(สูตร,0) ใส่ตรงไหนครับอาจารย์
logic
Gold
Posts: 1511 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#17
Post
by logic » Wed Jun 17, 2020 3:48 pm
yinsiang wrote: Wed Jun 17, 2020 3:43 pm
=Iferror(
สูตร ,0)
คำที่ใส่สีไว้ให้คือสูตรเดิมที่เขียนไว้แล้ว ที่เหลือก็ครอบเข้าไปครับ
yinsiang
Member
Posts: 56 Joined: Mon Jan 04, 2016 4:18 pm
#19
Post
by yinsiang » Wed Jun 17, 2020 4:23 pm
เรียน อาจารย์ อีกครั้งครับ
สำหรับสูตรนี้ ถ้าจะให้สูตรที่ไม่อ่านเป็น 0 ต้องแก้ไขตัวไหนครับ
=LOOKUP(2,1/('Daily Report'!$F$3:$F$258=$C5)/('Daily Report'!$B$3:$B$258+0=$E$3),'Daily Report'!$L$3:L$258)
logic
Gold
Posts: 1511 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#20
Post
by logic » Wed Jun 17, 2020 4:28 pm
สูตรไหนก็ทำแบบที่ผมตอบไปแล้วได้ทั้งหมดเลย อย่าไปกลัวมัน ลองเล่นให้มาก ๆ เลยครับ