Page 1 of 1

สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ

Posted: Fri Jun 24, 2016 10:48 am
by piches
:D สวัสดีครับอาจารย์และเพื่อนสมาขิกทุกท่าน ผมต้องการหาค่าที่ซ้ำกันเอาเฉพราะค่าสุดท้ายมาแสดง ต้องใช้สูตรอะไรครับ
ผมใช้สูตร 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
:D สูตร

ที่ เซลล์ 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 เพื่อดึงรายการสินค้ามาแสดง ในฐานข้อมูลมีสินค้าที่ เข้า,ออก หมุนเวียนกันไป แต่ผมต้องการ รายการที่เกิดขึ้นล่าสุดมาแสดง ครับ
:D คือ ช่อง 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
:D ค้นหาLOCATIONที่เก็บสินค้าจากรหัสสินค้าครั้งล่าสุดครับผม ว่าเก็บไว้ที่ได เพราะสินค้าที่เข้ามาอาจจะไม่ได้เก็บไว้ที่ LOCATION เดิมครับ ขออภัยที่ไม่ได้ระบุชื่อของสินค้าครับผม

Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ

Posted: Fri Jun 24, 2016 2:32 pm
by piches
:thup: ขอบคุณครับคุณ 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 มายังไง

:D :D :D

Re: สอบถามการหาค่าที่ซ้ำกันค่าสุดท้ายมาแสดงต้องใช้สูตรอะไรครับ

Posted: Sat Jun 25, 2016 12:02 pm
by snasui
:D สามารถดูคำอธิบายได้ที่นี่ครับ 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
snasui wrote::D สามารถดูคำอธิบายได้ที่นี่ครับ wordpress/last-cell/
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 เป็นคำตอบครับ

:)

ปล.ถ้าผิดอย่างไร รบกวนอาจาร์ยช่วยแก้ไขให้ด้วยนะครับ

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