Page 1 of 2
ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Tue Dec 19, 2017 10:51 pm
by March201711
อยากสอบถามคะว่าต้องการดึงค่าที่ซ้ำกันหลายตัวมาแสดงว่าเป็นค่าเดียวคะ
ตามเอกสารนี้คะ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Tue Dec 19, 2017 11:11 pm
by snasui

ผมพบว่าคุณ March201711 ใช้ "คะ" แทน "ค่ะ" อยู่บ่อยครั้ง ลองเขียนมาใหม่ให้ถูกต้องด้วยครับ
คร่าว ๆ คือ ประโยคไหนเป็นคำถามใช้ "คะ"
อันไหนเป็นคำบอกเล่าใช้ "ค่ะ"
ตามโพสต์ #1 ต้องใช้ "ค่ะ" ทั้ง 3 ตำแหน่งครับ

Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Wed Dec 20, 2017 12:00 am
by March201711
คะ ขอบคุณที่ชี้แนะค่ะ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Wed Dec 20, 2017 6:37 am
by snasui
March201711 wrote:คะ ขอบคุณที่ชี้แนะค่ะ
ที่ถูกคือ
ค่ะ ขอบคุณที่ชี้แนะค่ะ

ตัวอย่างสูตรตามด้านล่างครับ
ที่ D4 คีย์
=IF(ROWS(D$4:D4)>$A$4,"",INDEX($B$4:$B$76,SMALL(IF(FREQUENCY(MATCH($B$4:$B$76,$B$4:$B$76,0),ROW($B$4:$B$76)-ROW($B$4)+1),ROW($B$4:$B$76)-ROW($B$4)+1),ROWS(D$4:D4))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Wed Dec 20, 2017 8:28 am
by March201711
ค่ะ ขอบคุณที่ชี้แนะค่ะอาจารย์

Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Wed Dec 20, 2017 9:23 pm
by March201711
สอบถามเพิ่มคะ ถ้าจะให้ดึงข้อมูลโดยเริ่มเลข 4***, 5.***,6***,7*** ไปถึง เลข 8*** ต้องทำอย่างไรคะ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Wed Dec 20, 2017 10:43 pm
by puriwutpokin
March201711 wrote:สอบถามเพิ่มคะ ถ้าจะให้ดึงข้อมูลโดยเริ่มเลข 4***, 5.***,6***,7*** ไปถึง เลข 8*** ต้องทำอย่างไรคะ
ปรับเป็นที่ D4=IFERROR(INDEX($B$4:$B$76,MATCH(0,IF(LEFT($B$4:$B$76)+0>=4,COUNTIF(D$3:D3,$B$4:$B$76)),0)),"")กด Ctrl+Shift+Enter คัดลอกลงครับ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 8:06 am
by March201711
ได้แล้วคะ ถามต่อคะ ถ้า column B มีเลขเพิ่มต่อท้ายไปเรื่อยๆ เพราะข้อมูลใน column B มีการเพิ่มขึ้นหรือลดลงในแต่ละวันไม่เท่ากัน อยากให้สูตร column D มีความยืดหยุ่นโดยไม่ต้องไปแก้ ในcell column D ทุกครั้งที่ column B มีการเพิ่มขึ้นหรือลดลงของข้อมูลต้องทำอย่างไรคะ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 9:02 am
by puriwutpokin
March201711 wrote:ได้แล้วคะ ถามต่อคะ ถ้า column B มีเลขเพิ่มต่อท้ายไปเรื่อยๆ เพราะข้อมูลใน column B มีการเพิ่มขึ้นหรือลดลงในแต่ละวันไม่เท่ากัน อยากให้สูตร column D มีความยืดหยุ่นโดยไม่ต้องไปแก้ ในcell column D ทุกครั้งที่ column B มีการเพิ่มขึ้นหรือลดลงของข้อมูลต้องทำอย่างไรคะ
ปรับตรงสีแดงครับ ปรับให้มากขึ้นไว้ล่วงหน้าได้เลยครับ
D4=IFERROR(INDEX($B$4:$B$
100,MATCH(0,IF(LEFT($B$4:$B$
100)+0>=4,COUNTIF(E$3:E34,$B$4:$B$
100)),0)),"")
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 9:11 am
by March201711
ถ้าใช้ Offset จะได้ไหมคะ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 9:54 am
by puriwutpokin
March201711 wrote:ถ้าใช้ Offset จะได้ไหมคะ
ได้ครับ แต่จะการ ใช้ Offset อาจทำให้สูตรยาวและหนักได้ถ้าข้อมูลเยอะนะครับ ลองดูได้เลยครับ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 9:56 am
by March201711
ต้องเขียนอย่างไรบ้างคะ ยังไม่ค่อยเข้าใจ offset นะคะ ช่วยอธิบายให้หน่อยได้ไหมคะ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 10:02 am
by parakorn
ตัวอย่างสูตรตามด้านล่าง ลองทดสอบและประยุกต์ดูครับ
- ที่ D4 คีย์
=IFERROR(INDEX(OFFSET($B$3,1,,COUNTA($B:$B)-1,),MATCH(0,IF(LEFT(OFFSET($B$3,1,,COUNTA($B:$B)-1,))+0>=4,COUNTIF(D$3:D3,OFFSET($B$3,1,,COUNTA($B:$B)-1,))),0)),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
!
| Note: Ctrl+Shift+Enterเป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง- กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้นCtrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
- กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อนจากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
- หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
- การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง
|
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 10:18 am
by March201711
ได้แล้วคะ

ขอบคุณมากเลยนะ แต่สงสัยสูตรว่าทำไมในสตรต้องมี ,, 2 ครั้งคะ เช่น
OFFSET($B$3,1,,COUNTA($B:$B)-1,)
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 10:28 am
by parakorn
ไวยากรณ์ดังนี้ครับ offset( จุดเริ่ม , ให้เริ่มจากจุดเริ่มลงด้านล่างกี่บรรทัด(ถ้าใส่ค่าลบจะขึ้นข้างบนแทน) , ให้เริ่มจากจุดเริ่มไปทางขวากี่คอลัมน์(ถ้าใส่ค่าลบจะไปทางซ้ายแทน) , ความสูง , ความกว้าง)
ตัวอย่างคำอธิบายครับ
OFFSET($B$3,1,,COUNTA($B:$B)-1,) จึงเท่ากับ "เริ่ม" สูตรคำนวณ B3 , "ลงด้านล่าง" 1บรรทัด จึงเริ่มคลุมข้อมูลที่ B4 , "ไปทางขวา" 0 คอลัมน์(สมมติเริ่มสูตรคำนวณที่ A3 ต้องเปลี่ยนจาก 0 เป็น 1 เพราะไปทางขวา 1คอลัมน์) , "ความสูง" COUNTA($B:$B) ให้นับจำนวนข้อความ คอลัมภ์ B ทั้งคอลัมน์ -1 คือลบหัวข้อด้านบนสุด ซึ่งหากมีการคีย์ข้อมูลเพิ่มตัวเลขก็จะเพิ่มเรื่อยๆ ทำให้ความสูงเพิ่มขึ้นเรื่อยๆครับ , "ความกว้าง" ไม่มี เพราะเลือกฐานข้อมูลแค่คอลัมน์เดียวครับ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 10:37 am
by March201711
เข้าใจแล้วคะ จะได้ไปประยุกต์ใช้กับงานอื่น ขอบคุณมากคะ

Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 12:14 pm
by March201711
ถามอีกนิ้ดนึงคะ ถ้าเอาตั้งแต่ 4*** ถึง 7*** ต้องปรับแก้อย่างไรคะ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 12:30 pm
by parakorn
ปรับเป็น =IFERROR(INDEX(OFFSET($B$2,1,,COUNTA($B:$B)-1,),MATCH(0,IF(LEFT(OFFSET($B$2,1,,COUNTA($B:$B)-1,))+0>=4,IF(LEFT(OFFSET($B$2,1,,COUNTA($B:$B)-1,))+0<8,COUNTIF(D$2:D2,OFFSET($B$2,1,,COUNTA($B:$B)-1,)))),0)),"") Ctrl+Shift+Enter ครับ
Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 1:46 pm
by March201711
ขอบคุณมากคะ

Re: ต้องหาหาค่าที่ซ้ำกันมาแสดงว่าค่าเดียว
Posted: Thu Dec 21, 2017 4:44 pm
by March201711
สอบถามหน่อยคะ ทำไมเวลาใช้สูตร { } เครื่องจะประมวลผลช้าไหมคะ พอเขียนสูตรตามอาจารย์แล้วรู้สึกว่าเครื่องจะคำนวณนานขึ้นคะ