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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#1
Post
by kaesima » Tue Aug 13, 2019 5:57 pm
หากต้องการให้ข้อมูลขึ้นเฉพาะข้อมูลที่เราใช้ โดยไม่ลบข้อมูลในฐานข้อมูล และไม่เพิ่มช่องใดๆในฐานข้อมูล ต้องใช้สูตรอย่างไรคะ
รายละเอียดเพิ่มเติมตามไฟล์แนบคะ
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
#2
Post
by logic » Tue Aug 13, 2019 6:22 pm
kaesima wrote: Tue Aug 13, 2019 5:57 pm
หากต้องการให้ข้อมูลขึ้นเฉพาะข้อมูลที่เราใช้ โดยไม่ลบข้อมูลในฐานข้อมูล และไม่เพิ่มช่องใดๆในฐานข้อมูล ต้องใช้สูตรอย่างไรคะ
รายละเอียดเพิ่มเติมตามไฟล์แนบคะ
อธิบายเพิ่มหน่อยครับว่า เฉพาะข้อมูลที่เราใช้ สังเกตจากอะไรครับ
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#3
Post
by kaesima » Wed Aug 14, 2019 9:20 am
ขอโทษนะคะที่ตั้งคำถามไม่ละเอียด แต่ขออธิบายการทำงานได้ไหมคะ กลัวบอกสิ่งที่ต้องการไม่ถูกต้อง
1. ข้อมูลที่ได้มาเป็นการดึงออกมาจากระบบ โดยส่วนใหญ่จะใช้ข้อมูลเกือบทั้งหมด
2. ปกติแล้วเมื่อดึงข้อมูลออกมา จะต้องลบข้อมูลที่ไม่เกี่ยวข้องออก (สิ่งที่ใช้สำหรับการฟิวเตอร์เพื่อลบข้อมูล รายละเอียด ตามตารางในไฟล์แนบ)
3. เมื่อเหลือแต่ข้อมูลที่ใช้ ก็จะนำไปวางใน Sheet Data เพื่อให้ข้อมูลลิงค์ไปที่ Sheet Template คะ
4. ต้องการลดวิธีการทำงาน หากดึงข้อมูลมาจากระบบมาแล้ว อยากวางใน Sheet Data ได้เลย โดยที่ไม่ต้องมานั่งลบข้อมูลใดๆ
แล้วให้ข้อมูลที่ลิงค์ไป Sheet Template ขึ้นข้อมูลเฉพาะข้อมูลที่เหลือจากข้อ 2 คะ
จะงงหนักกว่าเดิมไหมคะ ไม่รู้จะอธิบายยังไงจริงๆๆคะ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#4
Post
by puriwutpokin » Wed Aug 14, 2019 1:25 pm
ลองดูครับที่ ชีท Template
ที่ A2=IFERROR(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/(ฐานข้อมูล!$K$2:$K$600<>"Nit")/(ฐานข้อมูล!$K$2:$K$600<>"Su"),ROWS(A$2:A2)),MATCH(A$1,ฐานข้อมูล!$C$1:$S$1,0)),"") คัดลอกไปทางขวาและลงล่างครับ
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#5
Post
by kaesima » Wed Aug 14, 2019 2:49 pm
ขอบคุณนะคะสำหรับความช่วยเหลือ แต่ขอสอบถามเพิ่มค่ะ
ตรงสูตร (ฐานข้อมูล!$K$2:$K$600<>"Nit") และ (ฐานข้อมูล!$K$2:$K$600<>"Su")
ถ้าเราใส่คำว่า "Nit" และ "SU" คือช่องที่เป็น "Nit" และ "SU" ทั้งหมดจะไม่ปรากฎเลยใช่หรือไม่คะ
แต่ถ้าเราต้องการข้อมูลของ "SU" บางส่วนที่ล่ะคะ ต้องทำอย่างไร ดิฉันลองฟิวเตอร์ให้ลองตรวจสอบคะ
ส่วนที่ทำตัวหนังสือสีดำคือส่วนที่ต้องการใช้ข้อมูลคะ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#6
Post
by puriwutpokin » Wed Aug 14, 2019 3:20 pm
kaesima wrote: Wed Aug 14, 2019 2:49 pm
ขอบคุณนะคะสำหรับความช่วยเหลือ แต่ขอสอบถามเพิ่มค่ะ
ตรงสูตร (ฐานข้อมูล!$K$2:$K$600<>"Nit") และ (ฐานข้อมูล!$K$2:$K$600<>"Su")
ถ้าเราใส่คำว่า "Nit" และ "SU" คือช่องที่เป็น "Nit" และ "SU" ทั้งหมดจะไม่ปรากฎเลยใช่หรือไม่คะ
แต่ถ้าเราต้องการข้อมูลของ "SU" บางส่วนที่ล่ะคะ ต้องทำอย่างไร ดิฉันลองฟิวเตอร์ให้ลองตรวจสอบคะ
ส่วนที่ทำตัวหนังสือสีดำคือส่วนที่ต้องการใช้ข้อมูลคะ
ส่วนสีดำ ทำไมถึงต้องการต่างจากสีแดงครับ แล้ว มีเงื่อนไขที่ต้องการนั้นจากคอลัมน์ไหนครับ
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#7
Post
by kaesima » Wed Aug 14, 2019 3:32 pm
puriwutpokin wrote: Wed Aug 14, 2019 3:20 pm
kaesima wrote: Wed Aug 14, 2019 2:49 pm
ขอบคุณนะคะสำหรับความช่วยเหลือ แต่ขอสอบถามเพิ่มค่ะ
ตรงสูตร (ฐานข้อมูล!$K$2:$K$600<>"Nit") และ (ฐานข้อมูล!$K$2:$K$600<>"Su")
ถ้าเราใส่คำว่า "Nit" และ "SU" คือช่องที่เป็น "Nit" และ "SU" ทั้งหมดจะไม่ปรากฎเลยใช่หรือไม่คะ
แต่ถ้าเราต้องการข้อมูลของ "SU" บางส่วนที่ล่ะคะ ต้องทำอย่างไร ดิฉันลองฟิวเตอร์ให้ลองตรวจสอบคะ
ส่วนที่ทำตัวหนังสือสีดำคือส่วนที่ต้องการใช้ข้อมูลคะ
ส่วนสีดำ ทำไมถึงต้องการต่างจากสีแดงครับ แล้ว มีเงื่อนไขที่ต้องการนั้นจากคอลัมน์ไหนครับ
ต่างกันตรงช่อง I (ไอ) ตัวอย่างสำหรับ "Su" มีชื่อ TION, U.S., FOOD, GOL, ONLY ที่ต้องการข้อมูลอยู่คะ
และขอเพิ่มคำถามอีกนิดคะ ถ้าเราใช้ IFERROR แล้วทำไมยังขึ้นเลขศูนย์อยู่คะ
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#8
Post
by puriwutpokin » Wed Aug 14, 2019 6:26 pm
ที่a2=IFERROR(TEXT(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/(ฐานข้อมูล!$K$2:$K$600<>"Nit")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuTOBA")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuAVEN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuSUN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuDH"),ROWS(A$2:A2)),MATCH(A$1,ฐานข้อมูล!$C$1:$S$1,0)),";; "),"") คัดลิกไปทางขวาและลงล่างครับ
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#9
Post
by puriwutpokin » Wed Aug 14, 2019 8:15 pm
หรืออีกแบบครับ ที่
A2=IFERROR(TEXT(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/MMULT(--ISNUMBER(SEARCH(TRANSPOSE({"SuU.S.";"SuFOOD";"SuGOL";"SuTION";"SuONLY";"Tha";"Wit"}),ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600)),ROW($E$2:$E$8)^0),ROWS(A$2:A2)),MATCH(A$1,ฐานข้อมูล!$C$1:$S$1,0)),";; "),"") คัดลอกไปทั่วตารางครับ
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#10
Post
by kaesima » Fri Aug 16, 2019 3:26 pm
puriwutpokin wrote: Wed Aug 14, 2019 8:15 pm
หรืออีกแบบครับ ที่
A2=IFERROR(TEXT(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/MMULT(--ISNUMBER(SEARCH(TRANSPOSE({"SuU.S.";"SuFOOD";"SuGOL";"SuTION";"SuONLY";"Tha";"Wit"}),ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600)),ROW($E$2:$E$8)^0),ROWS(A$2:A2)),MATCH(A$1,ฐานข้อมูล!$C$1:$S$1,0)),";; "),"") คัดลอกไปทั่วตารางครับ
รบกวนอีกนิดคะ รบกวนช่วยดู Column G,H,I ใน Sheet Template คะ ข้อมูลขึ้นไม่ครบ โดยเฉพาะช่อง I ไม่ขึ้นเลยคะ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#11
Post
by puriwutpokin » Fri Aug 16, 2019 4:15 pm
ปรับที่a2=IFERROR(TEXT(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/MMULT(--ISNUMBER(SEARCH(TRANSPOSE({"SuU.S.";"SuFOOD";"SuGOL";"SuTION";"SuONLY";"Tha";"Wit"}),ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600)),ROW($E$2:$E$8)^0),ROWS(A$2:A2)),MATCH(A$1,ฐานข้อมูล!$C$1:$S$1,0)),"#;#; "),"")
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#12
Post
by kaesima » Fri Aug 23, 2019 4:17 pm
ต้องขอโทษที่มาตอบช้านะคะ พยายามแก้ไขแล้วมันไม่ได้จริงๆๆคะ
ถ้าใช้สูตรนี้ =IFERROR(TEXT(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/(ฐานข้อมูล!$K$2:$K$600<>"Nit")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuTOBA")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuAVEN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuSUN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuDH"),ROWS(A$2:A2)),MATCH(A$1,ฐานข้อมูล!$C$1:$S$1,0)),"#;#; "),"")
ช่อง G และ H บางแถวไม่ขึ้นเป็นวันที่ ทั้งที่เปลี่ยน Format เป็น Date แล้วคะ
และช่อง I ไม่สามารถเป็น Format เป็น Number ได้คะ (ใส่ลูกน้ำ และทศนิยมไม่ได้คะ)
You do not have the required permissions to view the files attached to this post.
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#13
Post
by kaesima » Fri Aug 23, 2019 4:22 pm
ขอแนบไฟล์ให้ใหม่นะคะ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#14
Post
by puriwutpokin » Fri Aug 23, 2019 6:35 pm
kaesima wrote: Fri Aug 23, 2019 4:22 pm
ขอแนบไฟล์ให้ใหม่นะคะ
ปรับเป็น a2=IFERROR(TEXT(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/(ฐานข้อมูล!$K$2:$K$600<>"Nit")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuTOBA")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuAVEN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuSUN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuDH"),ROWS(A$2:A2)),MATCH(A$1,ฐานข้อมูล!$C$1:$S$1,0)),"d/m/yyyy;#; "),"")
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#15
Post
by kaesima » Mon Aug 26, 2019 8:59 am
ลองปรับแล้วคะ วันที่มาแล้วคะ แต่พอลากไปช่อง I แล้วกลายเป็นวันที่ไปด้วย ทั้งฐานข้อมูลเป็นยอดเงินคะ ต้องปรับ Format ตรงไหนหรือเปล่าคะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#16
Post
by snasui » Mon Aug 26, 2019 7:19 pm
ตัวอย่างการปรับสูตรที่ I2 ครับ
=IFERROR(INDEX(ฐานข้อมูล!$C$2:$S$600,AGGREGATE(15,6,(ROW(ฐานข้อมูล!$C$2:$C$600)-ROW(ฐานข้อมูล!$C$1))/(ฐานข้อมูล!$K$2:$K$600<>"Nit")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuTOBA")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuAVEN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuSUN")/(ฐานข้อมูล!$K$2:$K$600&ฐานข้อมูล!$I$2:$I$600<>"SuDH"),ROWS(I$2:I2)),MATCH(I$1,ฐานข้อมูล!$C$1:$S$1,0)),"")
kaesima
Member
Posts: 63 Joined: Fri May 04, 2018 4:44 pm
#17
Post
by kaesima » Tue Aug 27, 2019 8:44 am
ขอขอบคุณทุกๆท่านนะคะ ได้ข้อมูลตรงตามที่ต้องการเลยค่ะ ขอบคุณมากค่ะ