Page 1 of 1

หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน

Posted: Fri Aug 07, 2015 10:23 pm
by Totem
:D เรียนอาจารย์และเพื่อนสมาชิก

ต้องการสูตร ให้รายชื่อในแผนก 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
:D อีกตัวอย่างครับ 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
ขอบคุณครับ ผมกำลังมาแก้ใหม่พอดี :D
ลองนึกๆ ดูหากจำนวนชื่อในแผนก 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 ครับ เท่าที่เข้าใจคือว่ามันจะเพิ่มภาระการคำนวณให้กับไฟล์ อ่านแล้วมึนๆ (หากอธิบายผิดขออภัย :rz: )
Volatile Function

Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน

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

:D 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
:D ขอบคุณอาจารย์และคุณDhitiBank ครับ

ได้ตามที่ต้องการครับ

Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน

Posted: Thu Aug 20, 2015 11:38 am
by Totem
snasui wrote::D อีกตัวอย่างครับ 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 ลงด้านล่าง
:D เรียนอาจารย์

ช่วยอธิบายเพิ่มเติมในสูตรส่วนนี้ =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
:D ศึกษาจาก Link นี้ครับ viewtopic.php?p=17983#p17983

Re: หลายคอลัมน์ให้ไปรวมอยู่ในคอลัมน์เดียวกัน

Posted: Fri Aug 21, 2015 2:57 pm
by Totem
snasui wrote::D ศึกษาจาก Link นี้ครับ viewtopic.php?p=17983#p17983
:D ขอบคุณครับ