Page 1 of 1
ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 11:45 am
by ajsudkedt
คือที่ชีต "ask" บางห้องจะมีคุณครูที่ปรึกษามากสุด 3 ท่าน
หากต้องการ link ข้อมูลจากชีต "ask" ไปยังชีต "ans"
โดยให้ชื่อคุณครูที่ปรึกษาคนที่ 3 ไปแสดงในคอลัมน์
"ครูที่ปรึกษา คนที่ 3"
ต้องปรับสูตรอยา่งไรครับ
โดยห้องไหนที่ไม่มีคุณครูที่ปรึกษาคนที่ 3 ให้ว่างไว้ครับ
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 1:32 pm
by norkaz
ถ้าใช้ คอลัมน์ F อยู่แล้ว ไม่แก้ไข
G2
=IF(COUNTIF(ask!$B$2:$B$149,ans!A2)=3,F2,"")
Copy ลงล่าง
ถ้าต้องเริ่มใหม่
Excel 2019 / Office 365 ใช้ CONCAT ได้
G2
=CONCAT(IF(COUNTIF(ask!$B$2:$B$149,ans!A2)=3,INDEX(ask!$C$2:$E$149,LOOKUP(2,1/(A2=ask!$B$2:$B$149),ROW($B$1:$B$149)),0),"")&" ")
Ctrl + Shift + Enter
Copy ลงล่าง
Norkaz
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 6:05 pm
by ajsudkedt
สูตรฯ ทั้ง 2 ที่ให้มา ยังไม่ error ครับ
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 6:26 pm
by ajsudkedt
ทั้ง 2 สูตร ชื่อครูที่ปรึกษา คนที่ 3 มันซ้ำกับ ครูที่ปรึกษาคนที่ 2 ครับ
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 7:12 pm
by norkaz
ช่วยคีย์มือลงไปว่า คำตอบที่ถูกต้อง ควรเป็นอะไร แล้วแนบไฟล์มาใหม่ครับ

Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 7:32 pm
by ajsudkedt
ตามไฟล์แนบ และภาพนี้ครับ
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 7:44 pm
by puriwutpokin
ลองดูที่ E2=IFERROR(INDEX(ask!$C$2:$C$200&" "&ask!$D$2:$D$200&" "&ask!$E$2:$E$200,AGGREGATE(15,6,(ROW(ask!$C$2:$C$200)-ROW(ask!$C$2)+1)/(ask!$B$2:$B$200=$A2),COLUMNS($E2:E2))),"") Copy right and down
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Fri Feb 26, 2021 7:48 pm
by norkaz
ไม่ค่อยเข้าใจที่สอบถามมา จากไฟล์ครั้งแรกครับ
ผมเข้้าใจว่า ท่านทำไฟล์ตัวอย่างมาแล้ว โดย มีครูคนที่ 1-2 แต่ต้องการหา คนที่ 3
1. ผู้ถามต้องการ คำตอบเฉพาะ "ชื่อครูคนที่ 3"
2. ครูคนที่ 3 คือ จาก รายการที่เรียงไว้แล้ว คือ
ครูคนที่ 1 อยู่แถวบนสูด
ครูคนที่ 2 คน แถวถัดมา
ครู คนที่ 3 คือ แถวถัดมา
ไม่มีการสลับ
ถ้าแบบนี้ ใช้สูตร ที่ 2 ไปได้เลย
G2
=CONCAT(IF(COUNTIF(ask!$B$2:$B$149,ans!A2)=3,INDEX(ask!$C$2:$E$149,LOOKUP(2,1/(A2=ask!$B$2:$B$149),ROW($B$1:$B$149)),0),"")&" ")
Ctrl + Shift + Enter
Copy ลงล่าง
แต่ถ้าไม่ใช่ ถ้าผู้ถาม ต้องการให้เรียง ตั้งแต่ ครูคนที่ 1 มาเลย โดยเริ่มเขียนสูตรที่ E2 ไม่ใช่ G2
ที่ E2
=IFERROR(CONCAT(INDEX(ask!$C$1:$E$149,AGGREGATE(15,6,ROW($B$2:$B$149)/($A2=ask!$B$2:$B$149),COLUMN(A2)),0)&" "),"")
Ctrl + Shift + Enter
Copy ไปขวา และลงล่าง
Norkaz
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Sat Feb 27, 2021 1:28 pm
by ajsudkedt
puriwutpokin wrote: Fri Feb 26, 2021 7:44 pm
ลองดูที่ E2=IFERROR(INDEX(ask!$C$2:$C$200&" "&ask!$D$2:$D$200&" "&ask!$E$2:$E$200,AGGREGATE(15,6,(ROW(ask!$C$2:$C$200)-ROW(ask!$C$2)+1)/(ask!$B$2:$B$200=$A2),COLUMNS($E2:E2))),"") Copy right and down
ได้ผลดั่งที่ต้องการเลยครับ
กราบขอบพระคุณมาก ๆ ครับ
Re: ขอสูตร link ข้อมูลจากแนวตั้งไปแนวนอนครับ
Posted: Sat Feb 27, 2021 1:30 pm
by ajsudkedt
norkaz wrote: Fri Feb 26, 2021 7:48 pm
ไม่ค่อยเข้าใจที่สอบถามมา จากไฟล์ครั้งแรกครับ
ผมเข้้าใจว่า ท่านทำไฟล์ตัวอย่างมาแล้ว โดย มีครูคนที่ 1-2 แต่ต้องการหา คนที่ 3
1. ผู้ถามต้องการ คำตอบเฉพาะ "ชื่อครูคนที่ 3"
2. ครูคนที่ 3 คือ จาก รายการที่เรียงไว้แล้ว คือ
ครูคนที่ 1 อยู่แถวบนสูด
ครูคนที่ 2 คน แถวถัดมา
ครู คนที่ 3 คือ แถวถัดมา
ไม่มีการสลับ
ถ้าแบบนี้ ใช้สูตร ที่ 2 ไปได้เลย
G2
=CONCAT(IF(COUNTIF(ask!$B$2:$B$149,ans!A2)=3,INDEX(ask!$C$2:$E$149,LOOKUP(2,1/(A2=ask!$B$2:$B$149),ROW($B$1:$B$149)),0),"")&" ")
Ctrl + Shift + Enter
Copy ลงล่าง
แต่ถ้าไม่ใช่ ถ้าผู้ถาม ต้องการให้เรียง ตั้งแต่ ครูคนที่ 1 มาเลย โดยเริ่มเขียนสูตรที่ E2 ไม่ใช่ G2
ที่ E2
=IFERROR(CONCAT(INDEX(ask!$C$1:$E$149,AGGREGATE(15,6,ROW($B$2:$B$149)/($A2=ask!$B$2:$B$149),COLUMN(A2)),0)&" "),"")
Ctrl + Shift + Enter
Copy ไปขวา และลงล่าง
Norkaz
ผมต้องกราบขออภัยด้วยครับที่คำถามของผมไม่ชัดเจน
สูตรที่ท่านให้มา หลังนำไปวางที่ E2 ได้ผลดั่งที่ต้องการเลยครับ
ขอบพระคุณมาก ๆ ครับ