: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

Filter

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Filter

#1

Post by kmb »

ไม่ทราบว่าสำหรับ Excel 2007 พอจะมีวิธีสร้างเป็นค่าคงที่เก็บไว้ คล้าย ๆ define name ไหมครับ
ความต้องการคือสมมติว่าถ้าเรามีคอลัมน์ 10 คอลัมน์
ด้วยเงื่อนไขที่ 1 ให้คอลัมน์ที่ 1, 3 และ 5 filter ตามค่าที่กำหนดไว้
ด้วยเงื่อนไขที่ 2 ให้คอลัมน์ที่ 2, 4, 6 และ 8 filter ตามค่าที่กำหนดไว้
ด้วยเงื่อนไขที่ 3 ให้คอลัมน์ที่ 1, 3 และ 5 filter ตามค่าที่กำหนดไว้ ซึ่งไม่ตรงกับเงื่อนไขที่ 1
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Filter

#2

Post by snasui »

:D ลองส่งไฟล์ตัวอย่างพร้อมเงื่อนไขมาดูครับ :mrgreen:
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: Filter

#3

Post by kmb »

ผมลองส่งตัวอย่างตามไฟล์ที่แนบ
สมมติเงื่อนไขที่ 1 คอลัมน์ A เป็นเดือน January คอลัมน์ D เป็น yes คอลัมน์ E เป็น no
เงื่อนไขที่ 2 คอลัมน์ A ไม่มี filter เอาทุกรายการ คอลัมน์ D เป็น yes คอลัมน์ E เป็น yes

จุดประสงค์ที่ต้องการคือว่ามีหลายคนที่ใช้ข้อมูลจากไฟล์นี้ ถ้าข้อมูลมีหลายคอลัมน์จะทำให้มีหลายเงื่อนไข ซึ่งถ้าเลือกผิดหรือไม่ครบทุกเงื่อนไข ผลที่ได้จะผิด จึงอยากจะหาวิธีเก็บค่าของเงื่อนไขต่าง ๆ ไว้เป็นชื่อ เพื่อให้ใช้วิธีเลือกจากชื่อที่ตั้งให้ได้ผลที่ต้องการเลยน่ะครับ ไม่ต้องเลือกทีละคอลัมน์

ไม่ทราบว่าพอจะมีวิธไหมครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Filter

#4

Post by snasui »

:D ลองดูสูตรตามไฟล์แนบครับ

ผมจะสร้างหน้ารายงานมาอีกหน้า ให้ผู้ใช้เลือกเงื่อนไขที่ต้องการ ข้อมูลที่เข้าเงื่อนไขก็จะมาแสดงในหน้า Report นี้ :mrgreen:
You do not have the required permissions to view the files attached to this post.
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: Filter

#5

Post by kmb »

ขอบคุณมากครับ จะลองนำไปใช้ดูครับ
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: Filter

#6

Post by kmb »

จากไฟล์ที่แนบมาใหม่ ขอสอบถามเพิ่มเติมตามที่อยู่ในไฟล์ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Filter

#7

Post by snasui »

:D ลองตามไฟล์แนบครับ

J17 คีย์

=VLOOKUP($H17,$H$5:$M$13,COLUMNS($H17:J17),0)/J15

Enter > Copy ไปทางด้านขวา

J19 คีย์

=SUM(INDEX($J$5:J$13,MATCH($H$17,$H$5:$H$13,0),0))/SUM($J15:J15)

Enter > Copy ไปทางด้านขวา
You do not have the required permissions to view the files attached to this post.
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: Filter

#8

Post by kmb »

ขอบคุณมากครับ แล้วตรงส่วนที่ต้องการให้ขึ้นเป็นวันที่เริ่มต้น จนถึงวันที่สุดท้ายของ Week ล่ะครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Filter

#9

Post by snasui »

:D จะให้เลือกวันที่ได้ก็ต้องเพิ่มคอลัมน์วันที่เข้ามาก่อนครับ อาจจะเอาไว้คอลัมน์หน้าสุด

PivotTable ต้องลองลากเล่นเยอะ ๆ แล้วจะเข้าใจการทำงานครับ ลากผิดก็ Undo แล้วลากใหม่ :mrgreen:
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: Filter

#10

Post by kmb »

สอบถามเพิ่มเติมเกี่ยวกับ filter หน่อยครับ
ในกรณีที่ใน 1 worksheet มีตารางมากกว่า 1 ตาราง เช่น A1:N100 เป็นตารางที่ 1 และ A105:C110 เป็นตารางที่ 2 ถ้าต้องการใส่ filter สำหรับทั้ง 2 ตารางสามารถทำได้ไหมครับ เพราะปกติที่ทำจะทำได้ทีละ 1 header
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: Filter

#11

Post by snasui »

:D สามารถทำได้ครับ แต่ต้องใช้ Table เข้ามาช่วยสำหรับ 2007 หรือใช้การ Create List เข้ามาช่วยสำหรับ 2003 ครับ

1. สำหรับ 2003 ให้คลุมพื้นที่ที่ต้องการสร้าง Filter > คลิกขวา > Create List > My list has headers > OK

2. สำหรับ 2007 คลุม Data > เข้าเมนู Insert > Table > My list has headers > OK
kmb
Bronze
Bronze
Posts: 305
Joined: Thu Oct 14, 2010 10:03 pm

Re: Filter

#12

Post by kmb »

ทำได้แล้วครับ ขอบคุณมากครับ
Post Reply