Page 1 of 1
สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Fri Jun 24, 2016 10:48 am
by piches

สวัสดีครับอาจารย์และเพื่อนสมาขิกทุกท่าน ผมต้องการหาค่าที่ซ้ำกันเอาเฉพราะค่าสุดท้ายมาแสดง ต้องใช้สูตรอะไรครับ
ผมใช้สูตร INDEX,MATCH คำตอบที่ได้ยังไม่ตรงตามที่ต้องการจึงขอคำแนะนำสูตรด้วยครับ ขอบคุณครับ
=INDEX(C4:C20,MATCH(E5,B4:B20,
1))ถ้าผมใช้ Less than จะได้คำตอบเป็น QQ
(แต่ ID ใกล้เคียงกันก็จะได้คำตอบQQ เช่นกัน)
=INDEX(C4:C20,MATCH(E5,B4:B20,
0))ถ้าผมใช้ Exact match จะได้คำตอบเป็น
VC คำตอบที่ต้องคือ
QQ
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Fri Jun 24, 2016 12:39 pm
by Totem

สูตร
ที่ เซลล์ D2 = LARGE(($D$4:$D$14),ROWS(D$4:D4))
ที่ เซลล์ D3 ใส่ 0
ที่ เซลล์ D4 = IF(B4<>B3,LOOKUP(9.99999999999999E+307,D$3:D3)+1,"")
Enter > Copy ลงด้านล่าง
ที่ เซลล์ E4 =INDEX($B$4:$B$14,SMALL(IF($D$4:$D$14=$D$2,ROW($B$4:$B$14)-ROW($B$4)+1),COUNTIF($D$2,$D$2)))
Ctrl+Shift+Enter
ที่ เซลล์ F4 = INDEX(C4:C14,MATCH(E4,B4:B14,1))
ลองดูครับว่าใช้ได้หรือไม่
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Fri Jun 24, 2016 1:39 pm
by piches
ขอบคุณครับท่าน Totem ยังไม่ตรงตามต้องการครับ
ผมต้องการคีย์ ID สินค้าที่เซล F4 เพื่อดึงรายการสินค้ามาแสดง ในฐานข้อมูลมีสินค้าที่ เข้า,ออก หมุนเวียนกันไป แต่ผมต้องการ รายการที่เกิดขึ้นล่าสุดมาแสดง ครับ
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Fri Jun 24, 2016 1:59 pm
by Totem
piches wrote:ขอบคุณครับท่าน Totem ยังไม่ตรงตามต้องการครับ
ผมต้องการคีย์ ID สินค้าที่เซล F4 เพื่อดึงรายการสินค้ามาแสดง ในฐานข้อมูลมีสินค้าที่ เข้า,ออก หมุนเวียนกันไป แต่ผมต้องการ รายการที่เกิดขึ้นล่าสุดมาแสดง ครับ

คือ ช่อง F4 เป็น LOCATION แต่ต้องการ คีย์ ID สินค้าที่เซลล์ F4 ? ไม่ค่อยเข้าใจครับ แล้วดึงรายการ ID สินค้าที่มาแสดงในช่องเซลล์ใด? ช่วยอธิบายเพิ่มเติมด้วยครับ
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Fri Jun 24, 2016 2:15 pm
by menem
สูตรใน F5 ครับ
=LOOKUP(2,1/(B4:B14=E5),C4:C14)
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Fri Jun 24, 2016 2:23 pm
by piches

ค้นหาLOCATIONที่เก็บสินค้าจากรหัสสินค้าครั้งล่าสุดครับผม ว่าเก็บไว้ที่ได เพราะสินค้าที่เข้ามาอาจจะไม่ได้เก็บไว้ที่ LOCATION เดิมครับ ขออภัยที่ไม่ได้ระบุชื่อของสินค้าครับผม
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Fri Jun 24, 2016 2:32 pm
by piches

ขอบคุณครับคุณ menem สูตรนี้ใช้ได้ตามความต้องการครับผม
menem wrote:สูตรใน F5 ครับ
=LOOKUP(2,1/(B4:B14=E5),C4:C14)
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Sat Jun 25, 2016 9:09 am
by Serverchita
menem wrote:สูตรใน F5 ครับ
=LOOKUP(2,1/(B4:B14=E5),C4:C14)
คุณ menem ครับ ช่วยอธิบายรายละเอียดสูตรให้ได้ไหมครับ
ที่ผมติดคือ 1/(B4:B14=E5) ทำไมต้อง 1/
และ =LOOKUP(2, คือ 2 มายังไง

Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Sat Jun 25, 2016 12:02 pm
by snasui

สามารถดูคำอธิบายได้ที่นี่ครับ
wordpress/last-cell/
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Sat Jun 25, 2016 12:07 pm
by menem
เอาทีละส่วนนะครับ
(B4:B14=E5) คือการตรวจสอบว่า ช่วงของ B4 ถึง B14 มีอันใดที่เท่ากับ E5
ถ้าตรง ในเชิงคณิตศาสตร์ จะมีค่าเป็น TRUE ถ้าไม่ตรง จะมีค่าเป็น FALSE
การเอาไปหาร 1 เพื่อแปลงให้เป็นตัวเลข 1 และ Error
1/TRUE = 1
1/FALSE = #DIV/0
ทีนี้เวลา LOOKUP ค้นข้อมูลมันจะวิ่งไปเรื่อย ๆ จนกว่าจะเจอค่าที่สูงกว่าหรือเท่ากับค่าที่ค้นหา
หากไม่เจอ จะเอาค่าสูงสุดสุดท้ายที่เจอ
ดังนั้นในการค้นหาค่า 2 มันจะไม่มีวันค้นเจอเลย เพราะค่าที่ได้ก่อนหน้าจะเป็นแค่ 1 กับ Error
เมื่อไม่มีทางหาเจอ และจนสิ้นสุดช่วงข้อมูล ตัว Function ก็จะต้องคืนค่าตัวที่สูงสุดตัวสุดท้ายที่เจอ
ซึ่งก็คือ 1 หรืออีกนัยหนึ่งคือ ตัวที่ตรงกับเงื่อนไขที่จะค้นหาตัวสุดท้าย (ถ้าเป็น Match จะเอาตัวแรก)
เมื่อได้ค่าตัวสุดท้าย ก็จะเอาตัวชี้นั้นไปอ่านค่าจาก C4:C14 ผลก็คือจะได้ QQ เป็นคำตอบครับ
ปล.ถ้าผิดอย่างไร รบกวนอาจาร์ยช่วยแก้ไขให้ด้วยนะครับ
Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ
Posted: Mon Jun 27, 2016 9:37 am
by Serverchita
menem wrote:เอาทีละส่วนนะครับ
(B4:B14=E5) คือการตรวจสอบว่า ช่วงของ B4 ถึง B14 มีอันใดที่เท่ากับ E5
ถ้าตรง ในเชิงคณิตศาสตร์ จะมีค่าเป็น TRUE ถ้าไม่ตรง จะมีค่าเป็น FALSE
การเอาไปหาร 1 เพื่อแปลงให้เป็นตัวเลข 1 และ Error
1/TRUE = 1
1/FALSE = #DIV/0
ทีนี้เวลา LOOKUP ค้นข้อมูลมันจะวิ่งไปเรื่อย ๆ จนกว่าจะเจอค่าที่สูงกว่าหรือเท่ากับค่าที่ค้นหา
หากไม่เจอ จะเอาค่าสูงสุดสุดท้ายที่เจอ
ดังนั้นในการค้นหาค่า 2 มันจะไม่มีวันค้นเจอเลย เพราะค่าที่ได้ก่อนหน้าจะเป็นแค่ 1 กับ Error
เมื่อไม่มีทางหาเจอ และจนสิ้นสุดช่วงข้อมูล ตัว Function ก็จะต้องคืนค่าตัวที่สูงสุดตัวสุดท้ายที่เจอ
ซึ่งก็คือ 1 หรืออีกนัยหนึ่งคือ ตัวที่ตรงกับเงื่อนไขที่จะค้นหาตัวสุดท้าย (ถ้าเป็น Match จะเอาตัวแรก)
เมื่อได้ค่าตัวสุดท้าย ก็จะเอาตัวชี้นั้นไปอ่านค่าจาก C4:C14 ผลก็คือจะได้ QQ เป็นคำตอบครับ
ปล.ถ้าผิดอย่างไร รบกวนอาจาร์ยช่วยแก้ไขให้ด้วยนะครับ

ขอบคุณครับสำหรับการอธิบายสูตร