Page 1 of 1

สูตรใช้ใน Excel 2007 ได้แต่ใช้ใน 2003 ไม่ได้

Posted: Sat Jul 24, 2010 12:43 pm
by gentoo
เดิมที่ข้อมูลที่ผมต้องการดัดแยกมาจากการพิมพ์เข้าไปในตารางข้อมูลดิบ จากนั้นผมได้ทำการคัดแยกข้อมูลโดยใช้สูตรซึ่งเมื่อนำไปใช้กับ Excel 2003 หรือ 2007 สามารถใช้งานปกติครับ
แต่หากเราดึงข้อมูลจากตารางข้อมูลดิบโดยเราเลือกช่วงเวลาที่ต้องการ จากนั้นทำการคัดแยกข้อมูลโดยใช้สูตรเดียวกันจากที่กล่าวข้างต้นซึ่งเมื่อนำไปใช้กับ Excel 2003 ไม่สามารถใช้งานได้ แต่เมื่อนำไปใช้กับ 2007 สามารถใช้งานได้ครับ
จึงอยากสอบถามวิธีการแก้ไขให้สามารถใช้ได้กับ Excel 2003 ครับ เนื่องจากที่ทำงานยังมีบางเครื่องใช้ Excel 2003 ครับ

Re: สูตรใช้ใน Excel 2007 ได้แต่ใช้ใน 2003 ไม่ได้

Posted: Sat Jul 24, 2010 12:55 pm
by snasui
:D ที่ F4 คีย์

=SMALL(IF($A$4:$A$20>=$G$1,IF($A$4:$A$20<=$G$2,ROW($A$4:$A$20)-ROW($A$4)+1)),ROWS(F$4:F4))

Ctrl+Shift+Enter > Copy ลงด้านล่างครับ

ที่ Q2 สูตรยังไม่ครบครับ เนื่องจากมีการคลุมข้อมูลไปถึงส่วนที่เป็นเซลล์ว่างด้วย ปรับสูตรใหม่จะได้เป็น

=SUM(IF(FREQUENCY(IF(I4:I20<>22,IF(I4:I20<>"",MATCH(H4:H20&I4:I20,H4:H20&I4:I20,0))),ROW(H4:H20)-ROW(H4)+1),1))

Ctrl+Shift+Enter :mrgreen:

Re: สูตรใช้ใน Excel 2007 ได้แต่ใช้ใน 2003 ไม่ได้

Posted: Sat Jul 24, 2010 2:14 pm
by gentoo
ขอบคุณอาจารย์มากครับ อาจารย์แล้วที่ Column G เราจะเขียนสูตรอย่างไรให้จัดเรียงวันที่ได้ครับ

Re: สูตรใช้ใน Excel 2007 ได้แต่ใช้ใน 2003 ไม่ได้

Posted: Sat Jul 24, 2010 3:31 pm
by snasui
:D ลองดูสูตรตามไฟล์แนบครับ

1. G4 คีย์

=IF(ROWS(G$4:G4)>$I$1,"",SMALL(IF(IF($A$4:$A$20<>"",IF($A$4:$A$20>=$G$1,IF($A$4:$A$20<=$G$2,ROW($A$4:$A$20)-ROW($A$4)+1))),$A$4:$A$20),ROWS(G$4:G4)))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

2. H4 คีย์

=IF(N(G4),INDEX($B$4:$B$20,SMALL(IF($A$4:$A$20=$G4,ROW($A$4:$A$20)-ROW($A$4)+1),COUNTIF(G$4:G4,G4))),"")

Ctrl+Shift+Enter > Copy ลงด้านล่าง

3. I4 คีย์

=IF(N(G4),INDEX($C$4:$C$20,SMALL(IF($A$4:$A$20=$G4,ROW($A$4:$A$20)-ROW($A$4)+1),COUNTIF(G$4:G4,G4))),"")

Ctrl+Shift+Enter > Copy ลงด้านล่าง

4. J4 คีย์

=IF(N(G4),SUMPRODUCT(--($A$4:$A$20=$G4),--($B$4:$B$20=$H4),--($C$4:$C$20=$I4),$D$4:$D$20),"")

Enter :mrgreen:

Re: สูตรใช้ใน Excel 2007 ได้แต่ใช้ใน 2003 ไม่ได้

Posted: Sat Jul 24, 2010 8:33 pm
by gentoo
ขอบคุณครับอาจารย์
อาจารย์ครับ สูตรใน g4 หากผมจะเพิ่มอีกเงื่อนไข คือ $C$4:$C$20=22 ผมเขียนสูตรแบบนี้ถูกหรือไม่ครับ
=IF(ROWS(G$4:G4)>$I$1,"",SMALL(IF(IF($A$4:$A$20<>"",IF($A$4:$A$20>=$G$1,IF($A$4:$A$20<=$G$2,IF($C$4:$C$20=22,ROW($A$4:$A$20)-ROW($A$4)+1)))),$A$4:$A$20),ROWS(G$4:G4)))

Re: สูตรใช้ใน Excel 2007 ได้แต่ใช้ใน 2003 ไม่ได้

Posted: Sat Jul 24, 2010 8:37 pm
by snasui
:D ดูรูปแบบสูตรแล้วคิดว่าใช้ได้ครับ

ลองกับข้อมูลจริงแล้วสังเกตดูผลครับ :mrgreen:

Re: สูตรใช้ใน Excel 2007 ได้แต่ใช้ใน 2003 ไม่ได้

Posted: Sat Jul 24, 2010 8:50 pm
by gentoo
ใช้ได้ครับอาจารย์ นั่งหาอยู่ตั้งนานทำไมถึงขึ้นค่า Error หาไปว่าต้องไปเพิ่มสูตรใน I1 เป็น
=SUMPRODUCT(--(A4:A20>=G1),--(A4:A20<=G2),--(C4:C20=22))
ขอบคุณอาจารย์ครับ