Page 1 of 1

อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 2:56 pm
by wisitsakbenz
เรียน อาจารย์ครับ

จากข้อมูลใน Sheet "Data" อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet โดยยึดจาก "Date" โดย
เดือน Jan ให้อยู่ใน Sheet "01"
เดือน Feb ให้อยู่ใน Sheet "02"
ไปเรื่อยๆ ตามตัวอย่างในแต่ละ Sheet
อาจารย์พอมีสูตรหรือไม่ครับ ขอบคุณครับ

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 3:22 pm
by puriwutpokin
กด ชีท 01 และ กด Shift แล้วไปกดที่ชีท 12
แล้วที่ ชีท D6=IFERROR(INDEX(Data!D:D,AGGREGATE(15,6,ROW(Data!$D$2:$D$99)/(TEXT(Data!$D$2:$D$99,"mm")=RIGHT(CELL("filename",$A$1),2)),ROWS(D$6:D6))),"") Copy right an down

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 3:29 pm
by Xcelvba
puriwutpokin wrote: Mon Jul 11, 2022 3:22 pm กด ชีท 01 และ กด Shift แล้วไปกดที่ชีท 12
แล้วที่ ชีท D6=IFERROR(INDEX(Data!D:D,AGGREGATE(15,6,ROW(Data!$D$2:$D$99)/(TEXT(Data!$D$2:$D$99,"mm")=RIGHT(CELL("filename",$A$1),2)),ROWS(D$6:D6))),"") Copy right an down
สอบถามจากสูตรหน่อยครับ CELL("filename",$A$1)
1. ตรงเซลล์อ้างอิง (สีแดง) เป็น cell อะไรก็ได้ใน sheet นั้นๆใช่ไหมครับ
2. CELL filename ชื่อจะเปลี่ยนไปตาม sheet แต่ละชีทใช่ไหมครับ

ขอบคุณสำหรับความรู้ใหม่ๆครับ ผมทำได้แต่ช้าได้ทีละ sheet ด้วยสูตรนี้
=IFERROR(INDEX(Data!D:D,AGGREGATE(15,6,ROW(Data!$D$2:$D$55)/(MONTH(Data!$D$2:$D$55)=1),ROWS('01'!F$10:F10))),"")

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 3:40 pm
by wisitsakbenz
เรียน อาจารย์ puriwutpokin

ใน Sheet "01" ถ้าข้อมูลมีไม่ถึงสูตรที่ Copy ไว้ ให้แสดงเป็นค่าว่าง ได้หรือไม่ครับ ขอบคุณครับ

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 3:42 pm
by puriwutpokin
Xcelvba wrote: Mon Jul 11, 2022 3:29 pm
puriwutpokin wrote: Mon Jul 11, 2022 3:22 pm กด ชีท 01 และ กด Shift แล้วไปกดที่ชีท 12
แล้วที่ ชีท D6=IFERROR(INDEX(Data!D:D,AGGREGATE(15,6,ROW(Data!$D$2:$D$99)/(TEXT(Data!$D$2:$D$99,"mm")=RIGHT(CELL("filename",$A$1),2)),ROWS(D$6:D6))),"") Copy right an down
สอบถามจากสูตรหน่อยครับ CELL("filename",$A$1)
1. ตรงเซลล์อ้างอิง (สีแดง) เป็น cell อะไรก็ได้ใน sheet นั้นๆใช่ไหมครับ
2. CELL filename ชื่อจะเปลี่ยนไปตาม sheet แต่ละชีทใช่ไหมครับ

ขอบคุณสำหรับความรู้ใหม่ๆครับ ผมทำได้แต่ช้าได้ทีละ sheet ด้วยสูตรนี้
=IFERROR(INDEX(Data!D:D,AGGREGATE(15,6,ROW(Data!$D$2:$D$55)/(MONTH(Data!$D$2:$D$55)=1),ROWS('01'!F$10:F10))),"")
ดูตามลิ้งค์นี้ครับอาจารย์ คนควน อธิบายครับ
http://www.snasui.com/viewtopic.php?p=1 ... me#p112388

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 3:44 pm
by puriwutpokin
wisitsakbenz wrote: Mon Jul 11, 2022 3:40 pm เรียน อาจารย์ puriwutpokin

ใน Sheet "01" ถ้าข้อมูลมีไม่ถึงสูตรที่ Copy ไว้ ให้แสดงเป็นค่าว่าง ได้หรือไม่ครับ ขอบคุณครับ
แก้ไขเป็น
D6:E6=IFERROR(1/(1/INDEX(Data!D:D,AGGREGATE(15,6,ROW(Data!$D$2:$D$99)/(TEXT(Data!$D$2:$D$99,"mm")=RIGHT(CELL("filename",$A$1),2)),ROWS(D$6:D6)))),"")
F6=IF(D6="","",IFERROR(INDEX(Data!F:F,AGGREGATE(15,6,ROW(Data!$D$2:$D$99)/(TEXT(Data!$D$2:$D$99,"mm")=RIGHT(CELL("filename",$A$1),2)),ROWS(F$6:F6))),""))

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 3:50 pm
by wisitsakbenz
เรียน อาจารย์ puriwutpokin

้ข้อมูล Medical Device และ Note ไม่แสดงครับ

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 3:54 pm
by puriwutpokin
เฉพาะ F6=IFERROR(INDEX(Data!F:F,AGGREGATE(15,6,ROW(Data!$D$2:$D$99)/(TEXT(Data!$D$2:$D$99,"mm")=RIGHT(CELL("filename",$A$1),2)),ROWS(F$6:F6)))&"","")

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Mon Jul 11, 2022 4:01 pm
by wisitsakbenz
เรียน อาจารย์ puriwutpokin

ได้แล้วครับ อาจารย์
ขอบคุณมากครับ

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Tue Jul 12, 2022 11:46 am
by wisitsakbenz
เรียน อาจารย์ puriwutpokin

สูตรที่อาจารย์ให้ เวลามีการเปลี่ยนแปลงข้อมูล จะประมวลผลช้ามากเลยครับ
Data จริงๆ จะมีประมาณ 2- 3 พัน record ครับ
อาจารย์สามารถปรับสูตรได้หรือไม่ครับ ขอบคุณมากครับ

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Tue Jul 12, 2022 12:36 pm
by snasui
:D ตัวอย่างสูตรที่ทำงานกับข้อมูลปริมาณมากตามด้านล่างครับ
  1. ที่ A1 คีย์สูตรเพื่อแสดงค่าที่สัมพันธ์กับชีตปัจจุบัน
    =--RIGHT(CELL("filename",A1),2)
    Enter
  2. ที่ A2 คีย์สูตรเพื่อนับว่าข้อมูลเป็นของชีตปัจจุบันกี่รายการ
    =SUMPRODUCT(--(MONTH(Data!D2:D10000)=A1),--(Data!D2:D10000<>""))
    Enter
  3. ที่ H5 คีย์คำว่า No เพื่อเป็นหัวข้อของรายการ
  4. ที่ H6 คีย์สูตรเพื่อแสดงลำดับของข้อมูลที่เป็นของชีตปัจจุบัน
    =IF(ROWS(H$6:H6)>$A$2,"",AGGREGATE(15,6,ROW(Data!$D$2:$D$1000)/((Data!$D$2:$D$1000<>"")*(MONTH(Data!$D$2:$D$1000)=$A$1)),ROWS(H$6:H6)))
    Enter > Copy ลงด้านล่าง
  5. ที่ A6 คีย์สูตรเพื่อแสดงรายการที่เกี่ยวข้อง
    =IF($H6="","",INDEX(Data!A:A,$H6))&""
    Enter > Copy ลงด้านล่างและไปยังลัมน์ที่เป็น Text ทั้งหมด
  6. ที่ D6 คีย์
    =IF($H6="","",INDEX(Data!D:D,$H6))
    Enter > Copy ไปยังคอลัมน์ E และลงด้านล่าง
  7. คัดลอกสูตรไปใช้กับชีตอื่น ๆ

Re: อยากให้ข้อมูลไปอยู่ในแต่ละ Sheet

Posted: Tue Jul 12, 2022 2:08 pm
by wisitsakbenz
เรียน อาจารย์ snasui

ได้แล้วครับ อาจารย์
ขอบคุณมากครับ