: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

รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yayoyiin
Member
Member
Posts: 5
Joined: Sat Jun 19, 2021 3:57 pm
Excel Ver: 365

รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#1

Post by yayoyiin »

=SMALL((Z3,AK3,AV3,BG3,BR3),INDEX(FREQUENCY((Z3,AK3,AV3,BG3,BR3),0),1)+1)
สูตรดึงราคาที่ถูกที่สุดระหว่าง ช่อง Z , AK AV,BG,BR โดยที่ค่าต้องไม่เป็น 0

=IFERROR(($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3),NA())
ดึงข้อมูลจากร้านเค้าเดียวกับกับคอมลัมน์ CC
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#2

Post by snasui »

:D การแปลสูตรต้องอาศัยความเข้าใจไวยากรณ์ของแต่ละฟังก์ชั่นครับ

จากตัวอย่างที่ยกมาสามารถแปลเพื่อความเข้าใจได้ตามด้านล่าง

=SMALL((Z3,AK3,AV3,BG3,BR3),INDEX(FREQUENCY((Z3,AK3,AV3,BG3,BR3),0),1)+1)

Small เป็นการหาค่าที่น้อยที่สุดในลำดับที่กำหนดเช่น เช่น Small(A2:A20,4) แปลว่าจากช่วงข้อมูล A2:A20 หาค่าที่น้อยที่สุดในลำดับที่ 4 มาแสดง

หากเทียบคำอธิบายตามต้วอย่างที่ยกมาแปลว่า

ให้หาค่าที่น้อยที่สุดในชุด (Z3,AK3,AV3,BG3,BR3) ในลำดับที่เป็นผลลัพธ์ของ INDEX(FREQUENCY((Z3,AK3,AV3,BG3,BR3),0),1)+1 มาแสดง

ถ้าหาก INDEX(FREQUENCY((Z3,AK3,AV3,BG3,BR3),0),1)+1 ให้ผลลัพธ์เป็น 2 ก็จะแปลว่า

ให้นำค่าที่น้อยที่สุดในชุด (Z3,AK3,AV3,BG3,BR3) ในลำดับที่ 2 มาแสดง

Index เป็นการนำข้อมูลในตำแหน่งใด ๆ มาแสดง เช่น Index(A2:A10,2) แปลว่าจากช่วง A2:A10 ให้นำข้อมูลในลำดับที่ 2 มาแสดง

จากสุตร
INDEX(FREQUENCY((Z3,AK3,AV3,BG3,BR3),0),1)+1 แปลว่าจากช่วง FREQUENCY((Z3,AK3,AV3,BG3,BR3),0) ให้นำค่าในลำดับที่ 1 มาบวกด้วย 1 มาแสดง

FREQUENCY เป็นการหาความถี่ของข้อมูล

จากสูตร FREQUENCY((Z3,AK3,AV3,BG3,BR3),0) แปลว่า

จากช่วง (Z3,AK3,AV3,BG3,BR3) มีค่าที่น้อยกว่าหรือเท่ากับ 0 กี่จำนวน และมีค่าที่มากกว่า 0 กี่จำนวน ผลลัพธ์จะแสดงออกมาเป็นค่าคงที่ Array เช่น {1;3} เป็นต้น

Iferror เป็นสูตรที่ใช้ตรวจสอบผลลัพธ์ หากเป็นค่าผิดพลาดสามารถเลือกกำหนดได้ว่าให้แสดงเป็นค่าใด เช่น Iferror(A2+A3,"Error") แปลว่าหาก A2+A3 แล้วได้ค่าผิดพลาดให้แสดงคำว่า Error

จากสูตร =IFERROR(($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3),NA()) แปลว่า
หาก ($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3) เป็นค่า Error ให้แสดง #N/A

การแปลสูตรด้านบน เป็นการแปลเพื่อความเข้าใจ ไม่ได้หมายถึงว่าสูตรที่เขียนมานั้นถูกต้องหรือไม่ ประการใด หากคำตอบไม่ถูกต้อง ให้แจ้งปัญหาที่เป็นและตัวอย่างคำตอบที่ต้องการ เมื่อได้คำตอบที่ถูกต้องแล้วจึงค่อยมาทำความเข้าใจสูตรด้วยการถามถึงคำแปลสูตรครับ
yayoyiin
Member
Member
Posts: 5
Joined: Sat Jun 19, 2021 3:57 pm
Excel Ver: 365

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#3

Post by yayoyiin »

เข้าใจขึ้นเยอะเลยค่ะ ขอบคุณมากนะคะ
=IFERROR(($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3),NA())
สูตรนี้ตอนแรกเข้าใจว่าเป็นสูตรดึงข้อมูลมาแสดงค่ะ
ขออนุญาตสอบถามเพิ่มเติม กรณีเรามีชุดข้อมูลร้านค้าอยู่ ใช้สูตรแรกหาข้อมูลของราคาที่ถูกที่สุดได้แล้วแต่อยากดึงข้อมูลในคอลัมภ์เดียวกัน เช่น ชื่อร้าน ชื่อสินค้า มาแสดงต้องใช้สูตรอะไรบ้างคะ
ข้อมูลร้านที่ถูกที่สุด
1.PNG
ช่องที่จะดึงมาแสดง
เทส.PNG
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#4

Post by snasui »

:D เพื่อความสะดวกในการตอบปัญหาของเพื่อนสมาชิก กรุณาแนบไฟล์ Excel มาด้วย ผู้ตอบจะได้ทดลองเขียนสูตรลงในไฟล์ได้เลย นอกจากนี้การอ้างอิงต่าง ๆ จะได้ตรงตามตำแหน่ง ช่วยประหยัดเวลาในการสร้างไฟล์ขึ้นมาเลียนแบบ ทั้งจะมีความแม่นยำ ตรงประเด็นมากกว่าครับ
yayoyiin
Member
Member
Posts: 5
Joined: Sat Jun 19, 2021 3:57 pm
Excel Ver: 365

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#5

Post by yayoyiin »

เฉลยข้อสอบExcel.xlsx
ไฟล์แนบค่ะ รบกวนด้วยนะคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#6

Post by snasui »

yayoyiin wrote: Sat Jun 19, 2021 8:58 pm กรณีเรามีชุดข้อมูลร้านค้าอยู่ ใช้สูตรแรกหาข้อมูลของราคาที่ถูกที่สุดได้แล้วแต่อยากดึงข้อมูลในคอลัมภ์เดียวกัน เช่น ชื่อร้าน ชื่อสินค้า มาแสดงต้องใช้สูตรอะไรบ้างคะ
:D จากไฟล์ล่าสุดได้ผลลัพธ์ที่ถูกต้องแล้วหรือไม่ หากไม่ถูกต้องกรุณาคีย์ค่าที่ถูกต้องพร้อมแจ้งมาด้วยว่าต้องได้ค่าเท่าใด ด้วยเงื่อนไขใด จะได้เข้าใจตรงกันครับ
yayoyiin
Member
Member
Posts: 5
Joined: Sat Jun 19, 2021 3:57 pm
Excel Ver: 365

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#7

Post by yayoyiin »

snasui wrote: Mon Jun 21, 2021 7:22 pm
yayoyiin wrote: Sat Jun 19, 2021 8:58 pm กรณีเรามีชุดข้อมูลร้านค้าอยู่ ใช้สูตรแรกหาข้อมูลของราคาที่ถูกที่สุดได้แล้วแต่อยากดึงข้อมูลในคอลัมภ์เดียวกัน เช่น ชื่อร้าน ชื่อสินค้า มาแสดงต้องใช้สูตรอะไรบ้างคะ
:D จากไฟล์ล่าสุดได้ผลลัพธ์ที่ถูกต้องแล้วหรือไม่ หากไม่ถูกต้องกรุณาคีย์ค่าที่ถูกต้องพร้อมแจ้งมาด้วยว่าต้องได้ค่าเท่าใด ด้วยเงื่อนไขใด จะได้เข้าใจตรงกันครับ
ไฟล์ตอนเปิดใช้งานแสดงผลถูกต้องค่ะ แต่เวลา Coppy สูตรไปใช้ไฟล์อื่นมัน error ค่ะ ไม่ทราบว่าเป็นเพราะอะไรคะ
ถ้าเป็นไปได้อยากให้อธิบายสูตรที่ใช้หน่อยค่ะ พอดีไม่ได้เป็นคนเขียนเองแต่อยากเข้าใจสูตรค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#8

Post by snasui »

:D ฟังก์ชั่น Ifs มีใช้ใน Excel 2019, 365 ถ้าหากนำไปเปิดใน Version อื่นก็จะมีปัญหาได้ครับ

ส่วนคำอธิบายลองทำความเข้าใจตามด้านล่างครับ

จากสูตร =IFERROR(IFS($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3),NA())

แปลว่า ถ้า IFS($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3) ให้ผลลัพธ์เป็นค่าผิดพลาด ให้แสดงผลลัพธ์ของ NA() ซึ่งก็คือค่าผิดพลาด #N/A แต่ถ้าไม่ผิดพลาดก็ให้แสดงผลลัพธ์นั้น

จากสูตร IFS($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3) แปลว่า
  1. ถ้า $CC3=$Z3 เป็นจริง ให้แสดงค่าของ T3
  2. ถ้าไม่เข้าตามข้อ 1 ให้ตรวจสอบว่าถ้า $CC3=$AK3 เป็นจริง ให้แสดงค่าของ AE3
  3. ถ้าไม่เข้าตามข้อ 2 ให้ตรวจสอบว่าถ้า $CC3=$AV3 เป็นจริง ให้แสดงค่าของ AP3
  4. ถ้าไม่เข้าตามข้อ 3 ให้ตรวจสอบว่าถ้า $CC3=$BG3 เป็นจริง ให้แสดงค่าของ BA3
  5. ถ้าไม่เข้าตามข้อ 4 ให้ตรวจสอบว่าถ้า $CC3=$BR3 เป็นจริง ให้แสดงค่าของ BL3
yayoyiin
Member
Member
Posts: 5
Joined: Sat Jun 19, 2021 3:57 pm
Excel Ver: 365

Re: รบกวนช่วยอธิบายสูตรนี้หน่อยค่ะ

#9

Post by yayoyiin »

ขอบคุณ snasui มากๆ เลยค่ะ เป็นประโยชน์กับหนูมากเลย เข้าใจง่ายขึ้นเยอะ
Post Reply