สูตร Excel เพื่อรับค่าที่ไม่ใช่ศูนย์ในแถวหัวคอลัมน์และแถวส่งคืน


5

ขณะนี้ฉันมีสเปรดชีตของธุรกรรมและฉันต้องการเขียนสูตรที่จะช่วยให้ฉันสามารถแยกธุรกรรมล่าสุดของลูกค้าจากแต่ละแถว

นอกจากนี้ฉันต้องการดึงส่วนหัวคอลัมน์ที่เชื่อมโยงกับธุรกรรมล่าสุดแต่ละรายการเพื่อแยกวันที่ที่ธุรกรรมเกิดขึ้น

ฉันพบสูตรแล้ว:

=INDEX($E$1:$CO$1, MATCH(TRUE,INDEX(E2:CO2<>0,),0)) 

นี่คือธุรกรรมล่าสุดของฉัน มันกำลังค้นหาแต่ละแถวสำหรับอินสแตนซ์ที่ไม่ใช่ศูนย์แรก

ฉันต้องการอินสแตนซ์ที่ไม่ใช่ศูนย์ล่าสุด หรืออีกวิธีหนึ่งฉันต้องรู้วิธีทำให้สูตรนี้ทำงานจากขวาไปซ้ายแทนจากซ้ายไปขวา

ความช่วยเหลือใด ๆ ที่ชื่นชมมาก!

คำตอบ:


10

ไม่จำเป็นต้องแก้ไขข้อมูลของคุณคุณสามารถใช้LOOKUPฟังก์ชั่นเพื่อค้นหาข้อมูลที่ไม่เป็นศูนย์ล่าสุดและรับส่วนหัวเช่นนี้

=LOOKUP(2,1/(E2:CO2<>0),E$1:CO$1)

วิธีนี้ใช้งานได้เนื่องจากชิ้น1/(E2:CO2<>0)ส่วนคืนค่าอาร์เรย์ 1s โดยที่เซลล์ไม่เป็นศูนย์ ...... หรือมี#DIV/0!ข้อผิดพลาดเกิดขึ้น LOOKUPจากนั้นจะไม่พบ 2 ในอาร์เรย์นั้นจึงจับคู่กับ1 สุดท้ายคือคอลัมน์สุดท้ายที่มีค่าไม่เป็นศูนย์ ..... และจะส่งคืนค่าที่สอดคล้องจากแถวส่วนหัว

หากคุณต้องการตัวเลขสุดท้ายในแถว (รวมถึงศูนย์) นี่เป็นสิ่งที่เรียบง่ายกว่า

=LOOKUP(9.99E+307,E2:CO2,E$1:CO$1)


2

จากที่นี่และที่นี่คำตอบอย่างรวดเร็วคือคุณอาจต้องย้อนกลับข้อมูลของคุณ Excel ไม่มีฟังก์ชั่นใด ๆ ที่เลื่อนจากขวาไปซ้าย

สมมติว่าข้อมูลที่คุณต้องการกลับเพิ่มจาก A2 เป็น E2:

=INDEX($A$2:$E$2,6-COLUMNS($A$2:A2))

โดยที่ 6 คือจำนวนคอลัมน์ของคุณ (5) + 1 หากคุณไม่ต้องการใช้ค่าฮาร์ดโค้ด (6) ดังที่ระบุไว้ในความคิดเห็นจากลิงก์ที่สองคุณสามารถใช้บางสิ่งเช่น COUNTA ($ A $ 2: $ E $ 2) 1 สูตรจะมีลักษณะดังนี้:

=INDEX($A$2:$E$2,COUNTA($A$2:$E$2)+1-COLUMNS($A2:A2))

โปรดทราบว่าสูตรจะขึ้นอยู่กับค่าสุดท้ายของ COLUMNS (A2 ถึงเริ่ม) เพื่อรับค่าเซลล์ที่ถูกต้อง สมมติว่าคุณคัดลอกและวางคุณจะได้แถวของเซลล์ดังนี้ (สมมติว่าคุณต้องการแสดงข้อมูลทั้ง 5 ชิ้น):

=INDEX($A$2:$E$2,6-COLUMNS($A$2:A2))
[...]
=INDEX($A$2:$E$2,6-COLUMNS(A$2:$E2))

ตัวอย่างของสิ่งที่ดูเหมือนว่า:

Reverese_Excel_Data

การรวมสูตรเพื่อค้นหาค่าที่ไม่เป็นศูนย์แรก:

Excel_Fined_First_Non-Zero_Value


ขอบคุณสำหรับคำตอบ! ปัจจุบันข้อมูลของฉันเป็นตารางเดือยที่มี 2,600 แถวและ 80 คอลัมน์ คุณรู้วิธีที่ง่ายกว่าในการย้อนกลับลำดับของข้อมูลสำหรับสเปรดชีตขนาดใหญ่นี้ไหม
user466699
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.