Page 1 of 1

การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 18, 2020 12:50 pm
by aroydee
Untitled.png
ขอคำแนะนำด้วยครับ
ผมลองเขียนสูตรตามนี้ แต่มันไม่แสดงอะไรเลย
แล้วถ้าจะแสดงเป็นแถว Rows ต้องแก้ไขตรงไหนครับ

ถ้าผมมีข้อมูล 3-5 แถว แต่ข้อมูลแถวล่างสุดไม่ตรงกัน คือมันเยื้องกัน
อยากให้มันเลื่อนการแสดงผลชุดสุดท้ายในแถวล่างสุดให้ตรงกัน
ต้องทำยังไงครับ

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 18, 2020 1:18 pm
by snasui
:D กรุณาแนบตัวอย่างไฟล์ Excel ที่ได้เขียนมาเองแล้ว ติดตรงไหนค่อยถามกันต่อครับ

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Fri Apr 24, 2020 11:47 am
by aroydee
ไฟล์ตัวอย่างครับ
ที่ต้องการทำต่อคือ สร้างคอลัมน์และเขียนสูตรเพิ่มอีก 4 คอลัมน์ (DA, DB, DC, DD)
เพื่อเอาผลจากคอลัมน์ CF, CG, CH, CI มาแสดงผลในคอลัมน์ใหม่
โดยคอลัมน์ใหม่ จัดให้บรรทัดหรือแถวสุดท้ายของทุกคอลัมน์
อยู่ตรงในแถวเดียวกัน (คือแถวล่างสุด)

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 7:59 am
by snasui
:D ตัวอย่างสูตรครับ

เซลล์ DB8 คีย์

=IF(COUNTIF(CG$3:CG$100,"?*")-ROWS(DA3:DA$9)<0,"",OFFSET(CG$3,COUNTIF(CG$3:CG$100,"?*")-ROWS(DA3:DA$9),0))

Enter > Copy ไปด้านขวาและลงด้านล่าง

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 11:07 am
by aroydee
ลองใส่สูตรแล้วครับ
แต่พอกดแป้น [ก], [ข] เพิ่มสกอร์ มันออกมาเพี้ยนครับ
เหมือนมันมีพลิกกลับเพิ่มมาต่อท้ายอีก

ซึ่งจุดมุ่งหมายคือ เมื่อกดแป้น [ก], [ข] เพิ่ม จะมีแถวด้านล่างเพิ่มขึ้นมาครั้งละแถว
สกอร์ในแถวใหม่ ต้องมาต่อท้ายแถวล่าง ต่ำลงไปเรื่อยๆ
โดยตรงกับแถวสุดท้ายของคอลัมน์ DA หรือ CF ครับ (แถวสุดท้ายตรงกันทั้ง 4 คอลัมน์)
ดังนั้น ทุกคอลัมน์ก็จะเพิ่มแถวต่ำลงไปเรื่อยๆ รวมประมาณ 65 แถว

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 11:43 am
by snasui
:D ไม่เข้าใจโจทย์ครับ

คำตอบจะตอบให้ตรงกับที่ถามเป็นสำคัญ หากมีเงื่อนไขเพิ่มเติมก็ต้องปรับปรุงต่อไปจากนั้นเอง หรือไม่ก็แนบไฟล์นั้นมาใหม่พร้อมอธิบายเงื่อนไขเพิ่มเติมเข้ามาครับ

กรุณาวาดเป็นภาพในการอธิบาย สามารถโยงไปโยงมาได้เต็มที่ให้เห็นชัดเจนว่า ข้อมูลต้นทางเป็นอย่างไร ต้องการข้อมูลปลายทางเป็นอย่างไร จะได้สะดวกในการทำความเข้าใจครับ

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 12:20 pm
by aroydee
แบบนี้ครับ

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 12:22 pm
by snasui
:D คำตอบจากสูตรนั้นผิดพลาดอย่างไร อธิบายมาด้วยครับ

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 12:26 pm
by aroydee
เมื่อกดแป้นสกอร์ [ก], [ข] เพิ่ม ข้อมูลจะไปเพิ่มยังตารางข้อมูลต้นทาง ต่อแถวล่างไปเรื่อยๆ
แต่ต้องการเขียนสูตรเพื่อให้แสดงในตารางข้อมูลปลายทาง โดยให้บรรทัดสุดท้ายตรงกัน
ซึ่งบรรทัดสุดท้ายก็จะถูกเพิ่มไปเรื่อยๆ ตามการกดแป้นสกอร์ครับ

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 12:36 pm
by Bo_ry
DA3
=CF3

DB3
=INDEX(CG$3:CG$67,TEXT(ROWS(CG$3:CG3)-COUNTIF(CG$3:INDEX(CG$3:CG$67,COUNTIF($CF$3:$CF$67,"?")),""),"0;65;65"))

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 12:39 pm
by aroydee
ลองใส่สูตรแล้วมันออกมาแบบนี้ครับ
ข้อมูลบรรทัดสุดท้ายไม่ตรงกัน
และมีส่วนที่เกินมา

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 12:42 pm
by aroydee
สูตรอันใหม่ ใช้ได้แล้วครับ
ขอบคุณครับ...อาจารย์

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 12:47 pm
by aroydee
ถ้าอาจารย์ช่วยอธิบายความหมายของสูตร จะได้ความรู้อีกมากมายเลยครับ
จะได้เอาไปพลิกแพลง ปรับเปลี่ยนได้ครับ
ขอบคุณครับ

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 1:32 pm
by Bo_ry
=INDEX(CG$3:CG$67,TEXT(ROWS(CG$3:CG3)-COUNTIF(CG$3:INDEX(CG$3:CG$67,COUNTIF($CF$3:$CF$67,"?")),""),"0;65;65"))


a. COUNTIF($CF$3:$CF$67,"?") นับจำนวนแถวที่มีอักษร
b. CG$3:INDEX(CG$3:CG$67,COUNTIF($CF$3:$CF$67,"?")) ช่วงตั้งแต่ Row3 ถึงแถวที่มีอักษร

c. COUNTIF(b,"") นับว่าว่างกี่แถว Column CG ว่าง 3

d. ROWS(CG$3:CG3) จำนวนแถว เริ่มจาก 1,2,3,…
ที่ Row3 1-3 = -2
ที่ Row5 3-3 = 0
ที่ Row6 4-3 = 1

e. TEXT( d ,"0;65;65") เลข +ได้เลขเดิม - กับ 0 เปลี่ยนเป็น 65
f .INDEX(CG$3:CG$67,e) เลข + ขยับลงตามจำนวนว่างจาก c เลข - กับ 0 ไปดึง CG67 ที่น่าจะว่างออกมา

Re: การเลื่อนการแสดงผลตามค่าที่กำหนด

Posted: Sat Apr 25, 2020 2:31 pm
by aroydee
ขอบคุณครับ