Page 1 of 1

จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่างไร

Posted: Thu Feb 21, 2013 2:25 pm
by godman
สวัสดีครับ
ผมมีปัญหาที่ยากสำหรับผม คือเรื่องมีอยู่ว่า ผมอยากนำข้อมูลจาก word มาใส่ใน excel โดยให้เจ้าหน้าที่ copy วางแต่ว่าข้อมูลใน word ไม่คงที่มีแถวมากบ้างน้อยบ้างในบางวัน แล้วแต่จำนวนรายการเอกสารที่จะลงทะเบียน บางวันอาจมี 1 เอกสารคือ 1 รายการต่อ 1 ใบ DCR ผมอยากจะเก็บข้อมูลในลักษณะนี้อย่างไรดี ผมแนบไฟล์ ในไฟล์ยกตัวอย่างแค่ 2 style โดยอยากสร้าง sheet template ตามที่เคยได้รับการสอนมาจากเว็บนี้ แต่ผมจะสร้างสูตรที่ sheet template เซลล์ B2 ได้อย่างไรครับ ผมลองสูตรพวก indirect มันไม่ได้เลย มันมีจุดร่วมที่ชื่อหัวข้อของฟอร์ม เหมือนกันและคอลัมพ์น่าจะเหมือนกัน

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Thu Feb 21, 2013 7:33 pm
by snasui
:D ไม่เข้าใจคำถามครับ ควรจะยกตัวอย่างให้เห็นว่าค่า B2 เป็นค่าใด เนื่องจากเงื่อนไขใด จะได้เข้าใจตรงกัน

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Thu Feb 21, 2013 9:57 pm
by godman
ขอโทษทีครับ ผมไม่ใส่ให้เรียบร้อยผมใส่คำตอบให้แล้วครับ ช่องนี้คือเอาจากชี้ต Style1 แต่จริงๆคือฟอร์มใน Style นี้อาจจะมีหน้าตาเหมือน Style2 ก็ได้ เพราะข้อมูลไม่เท่ากัน แต่ห้ัวข้อหรือwording จะเหมือนกันเพราะมาจากฟอร์ม word เดียวกัน

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Thu Feb 21, 2013 10:03 pm
by snasui
:D ลองตามนี้ครับ

เซลล์ B2 คีย์สูตร

=IF(C2="","",TRIM(MID(Style1!$A$3,FIND(":",Style1!$A$3)+1,255)))

Enter > Copy ลงด้านล่าง

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Thu Feb 21, 2013 10:27 pm
by godman
ขอบคุณครับ ผมขอนุญาติส่งการบ้าน ผมทำได้จากสูตรที่อาจารย์ให้มา แต่ว่า เจอความซับซ้อนตรง F2 เพราะจำนวนแถวในแต่ละอันไม่เท่ากัน แต่เรารู้แน่นอนว่าไม่เกินคำสองคำคือหัวข้อที่อยู่ระหว่างกลางครับ ผมอยากได้สูตรที่ F2 ครับ

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Thu Feb 21, 2013 10:45 pm
by snasui
:? ไม่เข้าใจครับ

หากต้องการหาจำนวนแถวของข้อมูลสามารถใช้ Match เข้ามาช่วยได้ เช่น

=MATCH("REASON(s) FOR CHANGE:",Style1!A:A,0)-MATCH("Documents affected: ",Style1!A:A,0)-2

คำตอบจะได้ 11 เลข 2 ที่ใช้หักเพื่อให้ได้ข้อมูลจริง เนื่องจากค่าทั้งสองอยู่ก่อนและหลังข้อมูล นอกจากนี้ยังมีบรรทัดว่างก่อนข้อมูลด้วย

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Thu Feb 21, 2013 10:49 pm
by godman
อ๋อ ผมนึกออกแล้ว ว่าผมเคยเห็นอาจารย์ตอบในที่ใดที่หนึ่งเกี่ยวกับ index มาแสดง ผมจะลองนำไป apply ดูครับ ขอบพระคุณมากครับ

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Thu Feb 21, 2013 11:07 pm
by snasui
:D ผมเข้าใจว่าต้องการนำช่วงข้อมูลที่อยู่ระหว่าง REASON(s) FOR CHANGE: กับ Documents affected: มาแสดง

ลองดูตัวอย่างสูตรที่ F2 ตามด้านล่างครับ

=IF(ROWS(F$2:F2)>MATCH("REASON(s) FOR CHANGE:",Style1!A:A,0)-MATCH("Documents affected: ",Style1!A:A,0)-2,"",INDEX(INDEX(Style1!A:A,MATCH("REASON(s) FOR CHANGE:",Style1!A:A,0)-1):INDEX(Style1!A:A,MATCH("Documents affected: ",Style1!A:A,0)+2),ROWS(F$2:F2)))

Enter > Copy ลงด้านล่าง

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Fri Feb 22, 2013 8:46 am
by godman
ผมลองทำแล้วครับ แต่ยังไม่บรรลุผล หรือว่าจะเกี่ยวกับ merge cell หรือปล่าวครับ ผมแนบไฟล์ที่ผมทำมาให้ดู

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Fri Feb 22, 2013 8:50 am
by snasui
:D คำว่า REASON(s) FOR CHANGE: ในชีท Style1 มีวรรคระหว่างคำ 2 วรรค ส่วนในสูตรมีวรรคเดียว เปลี่ยนให้เหมือนกันก็จะได้คำตอบครับ

เพื่อความมั่นใจให้ Copy ค่าในเซลล์ A19 ของชีท Style1 มาวางแทนคีย์เข้าไปเอง นอกจากนี้ฟังก์ชั่น Rows ก็กำหนดการ Lock เซลล์ไม่ถูกต้อง

Re: จะทำ Database แต่จำนวน row ไม่เท่ากัน จะทำ template อย่า

Posted: Fri Feb 22, 2013 9:10 am
by godman
OH MY GOD ได้แล้วครับ ขอบพระคุณมากครับ มาเที่ยวแถวอยุธยาเมื่อไหร่บอกด้วยครับ