Page 1 of 1

ต้องการดึงค่าวันที่ๆต่อจากแถวสุดท้ายที่ไม่ใช่ค่าว่างมาแสดงต่อท้ายทุกครั้ง ต้องทำอย่างไรครับ

Posted: Thu Nov 09, 2023 6:03 am
by 10idlnw
จากตัวอย่าง ผมใช้สูตรนี้

Code: Select all

=FILTER(IFERROR(TEXT(IF(ISBLANK(myData),"",myDate),"dd/mm"),""),IFERROR(TEXT(IF(ISBLANK(myData),"",myDate),"dd/mm"),"")<>"") 
กรองเฉพาะแถวที่ไม่ว่าง มาแสดง ซึ่งให้ผลลัพธ์ที่ถูกต้องแล้ว แต่ผมต้องการเพิ่มแถวที่อยู่ท้ายสุด(วันที่ๆต่อจากวันสุดท้ายที่มีข้อมูล) มาแสดงด้วย ต้องปรับสูตรอย่างไรครับ
กก.JPG

Re: ต้องการดึงค่าวันที่ๆต่อจากแถวสุดท้ายที่ไม่ใช่ค่าว่างมาแสดงต่อท้ายทุกครั้ง ต้องทำอย่างไรครับ

Posted: Thu Nov 09, 2023 8:24 am
by norkaz
...

D1

=LET(a,A1:A99,c,C1:C99,IFERROR(HSTACK(VSTACK(FILTER(TEXT(a,"dd/mm"),c<>""),INDEX(TEXT(a,"dd/mm"),XMATCH(LOOKUP(CHAR(255),c,a),a)+1)),FILTER(LEFT(c,1),c<>"")),""))

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

....

Re: ต้องการดึงค่าวันที่ๆต่อจากแถวสุดท้ายที่ไม่ใช่ค่าว่างมาแสดงต่อท้ายทุกครั้ง ต้องทำอย่างไรครับ

Posted: Thu Nov 09, 2023 3:59 pm
by norkaz
...

แบบที่ไม่ใช่ Excel 365

D1
=IFERROR(TEXT(1/(1/INDEX($A$1:$A$99,IFERROR(AGGREGATE(15,6,ROW($C$1:$C$99)/($C$1:$C$99<>""),ROWS(C$1:C1)),LOOKUP(CHAR(255),$C$1:$C$99,ROW($C$1:$C$99))+ROW(C1)-COUNTA($C$1:$C$99)))),"dd/mm"),"")
Copy สูตรลงไป


E1
=IFERROR(INDEX(LEFT($C$1:$C$99),AGGREGATE(15,6,ROW($C$1:$C$99)/($C$1:$C$99<>""),ROWS(C$1:C1))),"")
Copy สูตรลงไป

**สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

....

Re: ต้องการดึงค่าวันที่ๆต่อจากแถวสุดท้ายที่ไม่ใช่ค่าว่างมาแสดงต่อท้ายทุกครั้ง ต้องทำอย่างไรครับ

Posted: Sat Nov 11, 2023 6:11 am
by 10idlnw
ขอบคุณมากๆครับ ใช้งานได้ดีตั้งแต่คำตอบแรกของอาจารย์เลยครับ พึ่งรู้ว่ามีพวกฟังค์ชั่น let ด้วย กำลังเอาไปหัดลองใช้กับฟังค์ชั่นอื่นๆต่อยอดด้วยครับ