Page 1 of 1
หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Fri Aug 07, 2015 10:23 pm
by Totem

เรียนอาจารย์และเพื่อนสมาชิก
ต้องการสูตร ให้รายชื่อในแผนก A , B , C คือคอลัมน์ A , C , E ไปเรียงลำดับอยู่ในช่อง K3:K56
ขอบคุณครับ
รวมคอลัมน์.xlsx
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Fri Aug 07, 2015 11:29 pm
by DhitiBank
ลองแบบนี้ครับ ที่ K3 คีย์
=IF(ROWS(K$3:K3)>$H$6,"",OFFSET($A$1,MOD(ROWS(K$3:K3)-IF(LOOKUP(ROWS(K$3:K3),$I$3:$I$5,ROW($I$3:$I$5)-ROW($I$3)),0,1),LOOKUP(ROWS(K$3:K3),$I$3:$I$5,$H$3:$H$5))+1,2*LOOKUP(ROWS(K$3:K3),$I$3:$I$5,ROW($I$3:$I$5)-ROW($I$3))))
Enter-->แล้วคัดลอกลงล่างครับ
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Sat Aug 08, 2015 6:52 am
by snasui

อีกตัวอย่างครับ K3 คีย์
=IF(ROWS(K$2:K2)>$H$6,"",INDEX($A$2:$E$22,COUNTIF($L$3:L3,L3),LOOKUP(ROWS(K$1:K1),$I$3:$I$5,2*(ROW($I$3:$I$5)-ROW($I$3))+1)))
Enter > Copy ลงด้านล่าง
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Sat Aug 08, 2015 7:17 am
by DhitiBank
ขอบคุณครับ ผมกำลังมาแก้ใหม่พอดี
ลองนึกๆ ดูหากจำนวนชื่อในแผนก B กับ C เปลี่ยนไป สูตรเดิมที่ผมเขียนก็แสดงผลผิด กรณีนี้มันได้เพราะความบังเอิญครับ เลยจะมาเปลี่ยนเป็น ที่ K3 คีย์
=IF(ROWS(K$3:K3)>$H$6,"",OFFSET($A$1,MOD(COUNTIF(L$2:L2,L3),LOOKUP(ROWS(K$3:K3),$I$3:$I$5,$H$3:$H$5))+1,2*LOOKUP(ROWS(K$3:K3),$I$3:$I$5,ROW($I$3:$I$5)-ROW($I$3))))
อย่างไรก็ตาม หลีกเลี่ยงการใช้ Offset จะดีกว่าเพราะมันเป็น volatile function ครับ เท่าที่เข้าใจคือว่ามันจะเพิ่มภาระการคำนวณให้กับไฟล์ อ่านแล้วมึนๆ (หากอธิบายผิดขออภัย

)
Volatile Function
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Sat Aug 08, 2015 7:34 am
by snasui
DhitiBank wrote:หลีกเลี่ยงการใช้ Offset จะดีกว่าเพราะมันเป็น volatile function ครับ เท่าที่เข้าใจคือว่ามันจะเพิ่มภาระการคำนวณให้กับไฟล์ อ่านแล้วมึนๆ (หากอธิบายผิดขออภัย )

Volatile Function คือฟังก์ชั่นที่ถูกกระทบให้เปลี่ยนแปลงได้โดยง่าย เช่นแค่ปรับความสูงของบรรทัด ปรับความกว้างของคอลัมน์ก็เกิดการคำนวณแล้ว การที่คำนวณบ่อย ๆ เช่นนี้จะทำให้ไฟล์ทำงานช้า ยิ่งใช้มากจะทำงานช้ามากครับ อ่านเพิ่มเติมที่
http://www.decisionmodels.com/calcsecretsi.htm
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Sat Aug 08, 2015 8:27 am
by DhitiBank
ขอบคุณอาจารย์มากครับ
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Sat Aug 08, 2015 6:19 pm
by Totem

ขอบคุณอาจารย์และคุณDhitiBank ครับ
ได้ตามที่ต้องการครับ
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Thu Aug 20, 2015 11:38 am
by Totem
snasui wrote:
อีกตัวอย่างครับ K3 คีย์
=IF(ROWS(K$2:K2)>$H$6,"",INDEX($A$2:$E$22,COUNTIF($L$3:L3,L3),LOOKUP(ROWS(K$1:K1),$I$3:$I$5,2*(ROW($I$3:$I$5)-ROW($I$3))+1)))
Enter > Copy ลงด้านล่าง

เรียนอาจารย์
ช่วยอธิบายเพิ่มเติมในสูตรส่วนนี้ =IF(ROWS(K$2:K2)>$H$6,"",INDEX($A$2:$E$22,COUNTIF($L$3:L3,L3),LOOKUP(ROWS(K$1:K1),$I$3:$I$5,
2*(ROW($I$3:$I$5)-ROW($I$3))+1)))
ขอบคุณครับ
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Thu Aug 20, 2015 11:51 am
by snasui
Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน
Posted: Fri Aug 21, 2015 2:57 pm
by Totem

ขอบคุณครับ