นับข้อความพร้อมแสดงเป็นรายงานโดยอัตโนมัติ
Posted: Sun Oct 22, 2017 10:55 pm
ก่อนหน้านี้ได้มีการสอบถามเรื่อง สอบถามการใช้สูตร ifที่จับเงื่อนไขทั้งข้อความและตัวเลข เมื่อวันที่14 ต.ค.60 เวลา 16.35น. หลังจากนำไปใช้งานแล้วติดปัญหากับชุดข้อมูลที่มีไม่เอื้อต่อการออกรายงานแบบ pivot table ได้ จึงต้องพึ่ง codeในการแสดงรายงานแทน จึงขอรบกวนอาจารย์คนควนอีกครั้งหรือท่านผู้รู้ทุกท่าน โปรดชี้แนะ โดยมีไฟล์แนบมาพร้อมคำถามด้วยค่ะ
1.สอบถามชีต"Rpt1" ทำอย่างไรเมื่อชีต"Data"มีการเปลี่ยนแปลงข้อมูลแต่ชีต"Rpt1" ก็อัพเดทอัตโนมัติตามด้วย
คือ ในชีต"Rpt1" ที่ช่องB2ถึงR6(พื้นที่สีฟ้า) ต้องแสดงยอดนับของแต่ละเกรดให้ตรงกับเดือน-ปีบนหัวคอลัมน์ ซึ่งเดือน-ปีที่หัวคอลัมน์จะต้องเหมือนกับชีต"Data" เสมอ และทุกเดือนที่ชีต"Data"ตรงคอลัมน์Cจะมีการแทรกคอลัมน์เพิ่มเพื่อใส่ข้อมูลเดือนใหม่ต่อ เช่น Oct-17 เป็นต้น จึงต้องการให้ชีต"Rpt1"คอลัมน์B อัพเดทตามด้วยทุกครั้ง
ซึ่งตนได้ลองทำแล้วแต่ไม่อัพเดท คือ เริ่มจากชีต"Rpt1"ช่อง B1=Data!C3" จะได้ Sep-17 และทำการcopyสูตรของ B1ไปทางด้านขวาจนถึง R1 จะได้ May-16 เป็นเดือน-ปีสุดท้ายที่เหมือนกันในชีต"Data"
ส่วนพื้นที่สีฟ้าใส่สูตรในชีต"Rpt1"ช่องB2=COUNTIF(Data!C4:C11,"=A+")จะได้ 1 คือนับจำนวนของเกรด A+ ที่ชีต "Data"ใต้ช่องC4ลงไปเพื่อแสดงจำนวนของเดือน Sep-17 และ copyสูตรช่อง B2 ไปทางขวาจนถึงR6 ส่วนB3 ให้ทำการแก้ไขสูตรตรงคำว่า A+ เปลี่ยนเป็น A และB4 เปลี่ยนเป็น A- และB5 เปลี่ยนเป็น B และB6 เปลี่ยนเป็น C และคลุมB2:B6 แล้วcopyสูตร วางที่C2:R6
2.สอบถามชีต"Rpt2" ทำอย่างไรให้เดือน-ปีอัพเดทตามหัวคอลัมน์ที่เป็นเดือน-ปีในชีต"Data"อัตโนมัติ และเมื่อเลือกเดือนแล้วข้อมูลแสดงในตารางตามtemplateโดยอัตโนมัติ
ที่ชีต"Rpt2" ช่องB2ทำdropdownlist ไว้โดยเชื่อมข้อมูลกับชีต"Data"เพื่อไว้มาเลือกเดือน-ปีที่ต้องการมาแสดง
และที่ช่องB4 ใส่สูตร=COUNT(B6:B19)เพื่อนับว่ามีกี่คนที่ได้เกรดตรงกับช่องB5 ส่วนช่อง B6:F19 (พื้้นที่สีม่วง)ให้แสดงรหัสCSRที่ได้เกรดตรงกับช่องB5 ตั้งแต่B6ลงมาอัตโนมัติ แต่ยังคิดสูตรไม่ออก
1.สอบถามชีต"Rpt1" ทำอย่างไรเมื่อชีต"Data"มีการเปลี่ยนแปลงข้อมูลแต่ชีต"Rpt1" ก็อัพเดทอัตโนมัติตามด้วย
คือ ในชีต"Rpt1" ที่ช่องB2ถึงR6(พื้นที่สีฟ้า) ต้องแสดงยอดนับของแต่ละเกรดให้ตรงกับเดือน-ปีบนหัวคอลัมน์ ซึ่งเดือน-ปีที่หัวคอลัมน์จะต้องเหมือนกับชีต"Data" เสมอ และทุกเดือนที่ชีต"Data"ตรงคอลัมน์Cจะมีการแทรกคอลัมน์เพิ่มเพื่อใส่ข้อมูลเดือนใหม่ต่อ เช่น Oct-17 เป็นต้น จึงต้องการให้ชีต"Rpt1"คอลัมน์B อัพเดทตามด้วยทุกครั้ง
ซึ่งตนได้ลองทำแล้วแต่ไม่อัพเดท คือ เริ่มจากชีต"Rpt1"ช่อง B1=Data!C3" จะได้ Sep-17 และทำการcopyสูตรของ B1ไปทางด้านขวาจนถึง R1 จะได้ May-16 เป็นเดือน-ปีสุดท้ายที่เหมือนกันในชีต"Data"
ส่วนพื้นที่สีฟ้าใส่สูตรในชีต"Rpt1"ช่องB2=COUNTIF(Data!C4:C11,"=A+")จะได้ 1 คือนับจำนวนของเกรด A+ ที่ชีต "Data"ใต้ช่องC4ลงไปเพื่อแสดงจำนวนของเดือน Sep-17 และ copyสูตรช่อง B2 ไปทางขวาจนถึงR6 ส่วนB3 ให้ทำการแก้ไขสูตรตรงคำว่า A+ เปลี่ยนเป็น A และB4 เปลี่ยนเป็น A- และB5 เปลี่ยนเป็น B และB6 เปลี่ยนเป็น C และคลุมB2:B6 แล้วcopyสูตร วางที่C2:R6
2.สอบถามชีต"Rpt2" ทำอย่างไรให้เดือน-ปีอัพเดทตามหัวคอลัมน์ที่เป็นเดือน-ปีในชีต"Data"อัตโนมัติ และเมื่อเลือกเดือนแล้วข้อมูลแสดงในตารางตามtemplateโดยอัตโนมัติ
ที่ชีต"Rpt2" ช่องB2ทำdropdownlist ไว้โดยเชื่อมข้อมูลกับชีต"Data"เพื่อไว้มาเลือกเดือน-ปีที่ต้องการมาแสดง
และที่ช่องB4 ใส่สูตร=COUNT(B6:B19)เพื่อนับว่ามีกี่คนที่ได้เกรดตรงกับช่องB5 ส่วนช่อง B6:F19 (พื้้นที่สีม่วง)ให้แสดงรหัสCSRที่ได้เกรดตรงกับช่องB5 ตั้งแต่B6ลงมาอัตโนมัติ แต่ยังคิดสูตรไม่ออก