Page 1 of 1

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

Posted: Sat Jun 19, 2021 4:07 pm
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

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

Posted: Sat Jun 19, 2021 5:04 pm
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

การแปลสูตรด้านบน เป็นการแปลเพื่อความเข้าใจ ไม่ได้หมายถึงว่าสูตรที่เขียนมานั้นถูกต้องหรือไม่ ประการใด หากคำตอบไม่ถูกต้อง ให้แจ้งปัญหาที่เป็นและตัวอย่างคำตอบที่ต้องการ เมื่อได้คำตอบที่ถูกต้องแล้วจึงค่อยมาทำความเข้าใจสูตรด้วยการถามถึงคำแปลสูตรครับ

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

Posted: Sat Jun 19, 2021 8:58 pm
by yayoyiin
เข้าใจขึ้นเยอะเลยค่ะ ขอบคุณมากนะคะ
=IFERROR(($CC3=$Z3,T3,$CC3=$AK3,AE3,$CC3=$AV3,AP3,$CC3=$BG3,BA3,$CC3=$BR3,BL3),NA())
สูตรนี้ตอนแรกเข้าใจว่าเป็นสูตรดึงข้อมูลมาแสดงค่ะ
ขออนุญาตสอบถามเพิ่มเติม กรณีเรามีชุดข้อมูลร้านค้าอยู่ ใช้สูตรแรกหาข้อมูลของราคาที่ถูกที่สุดได้แล้วแต่อยากดึงข้อมูลในคอลัมภ์เดียวกัน เช่น ชื่อร้าน ชื่อสินค้า มาแสดงต้องใช้สูตรอะไรบ้างคะ
ข้อมูลร้านที่ถูกที่สุด
1.PNG
ช่องที่จะดึงมาแสดง
เทส.PNG

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

Posted: Sun Jun 20, 2021 6:13 am
by snasui
:D เพื่อความสะดวกในการตอบปัญหาของเพื่อนสมาชิก กรุณาแนบไฟล์ Excel มาด้วย ผู้ตอบจะได้ทดลองเขียนสูตรลงในไฟล์ได้เลย นอกจากนี้การอ้างอิงต่าง ๆ จะได้ตรงตามตำแหน่ง ช่วยประหยัดเวลาในการสร้างไฟล์ขึ้นมาเลียนแบบ ทั้งจะมีความแม่นยำ ตรงประเด็นมากกว่าครับ

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

Posted: Mon Jun 21, 2021 8:00 am
by yayoyiin
เฉลยข้อสอบExcel.xlsx
ไฟล์แนบค่ะ รบกวนด้วยนะคะ

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

Posted: Mon Jun 21, 2021 7:22 pm
by snasui
yayoyiin wrote: Sat Jun 19, 2021 8:58 pm กรณีเรามีชุดข้อมูลร้านค้าอยู่ ใช้สูตรแรกหาข้อมูลของราคาที่ถูกที่สุดได้แล้วแต่อยากดึงข้อมูลในคอลัมภ์เดียวกัน เช่น ชื่อร้าน ชื่อสินค้า มาแสดงต้องใช้สูตรอะไรบ้างคะ
:D จากไฟล์ล่าสุดได้ผลลัพธ์ที่ถูกต้องแล้วหรือไม่ หากไม่ถูกต้องกรุณาคีย์ค่าที่ถูกต้องพร้อมแจ้งมาด้วยว่าต้องได้ค่าเท่าใด ด้วยเงื่อนไขใด จะได้เข้าใจตรงกันครับ

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

Posted: Fri Jun 25, 2021 3:16 pm
by yayoyiin
snasui wrote: Mon Jun 21, 2021 7:22 pm
yayoyiin wrote: Sat Jun 19, 2021 8:58 pm กรณีเรามีชุดข้อมูลร้านค้าอยู่ ใช้สูตรแรกหาข้อมูลของราคาที่ถูกที่สุดได้แล้วแต่อยากดึงข้อมูลในคอลัมภ์เดียวกัน เช่น ชื่อร้าน ชื่อสินค้า มาแสดงต้องใช้สูตรอะไรบ้างคะ
:D จากไฟล์ล่าสุดได้ผลลัพธ์ที่ถูกต้องแล้วหรือไม่ หากไม่ถูกต้องกรุณาคีย์ค่าที่ถูกต้องพร้อมแจ้งมาด้วยว่าต้องได้ค่าเท่าใด ด้วยเงื่อนไขใด จะได้เข้าใจตรงกันครับ
ไฟล์ตอนเปิดใช้งานแสดงผลถูกต้องค่ะ แต่เวลา Coppy สูตรไปใช้ไฟล์อื่นมัน error ค่ะ ไม่ทราบว่าเป็นเพราะอะไรคะ
ถ้าเป็นไปได้อยากให้อธิบายสูตรที่ใช้หน่อยค่ะ พอดีไม่ได้เป็นคนเขียนเองแต่อยากเข้าใจสูตรค่ะ

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

Posted: Fri Jun 25, 2021 5:32 pm
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

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

Posted: Tue Jul 13, 2021 3:34 pm
by yayoyiin
ขอบคุณ snasui มากๆ เลยค่ะ เป็นประโยชน์กับหนูมากเลย เข้าใจง่ายขึ้นเยอะ