Saya memiliki lembar Excel dengan nilai teks, misalnya dalam A1: "Ini adalah teks". Saya perlu menemukan posisi karakter spasi terakhir. Apakah ada formula excel yang akan memberi saya hasil yang saya inginkan? Saya telah mencoba MENCARI dan MENCARI, namun ini mulai dari kiri, yang saya butuhkan adalah mulai dari kanan.
17
Jawaban:
Jika dengan nilai kosong yang Anda maksud adalah "spasi", dan oleh XLS yang Anda maksud adalah Excel, maka Anda dapat menggunakan rumus ini (dengan asumsi tes yang Anda ingin temukan ruang terakhir di dalamnya
A1
):Anda dapat membaginya menjadi 3 bagian:
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
memberi Anda jumlah ruang, sebut sajax
,SUBSTITUTE(A1," ","☃",[x])
akan menggantikanx
ruang th (jadi yang terakhir) oleh manusia salju,FIND("☃",[...])
akan memberi Anda posisi manusia salju. Yang merupakan posisi ruang terakhir.sumber
Ini cara lain, karakter apa saja diperbolehkan dalam A1 (bahkan manusia salju!)
=LOOKUP(2^15,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))))
FIND
memiliki argumen ketiga yang menentukan posisi awal pencarian, jika Anda menerapkan array nilai integer 1 ke n (di mana n adalah panjang A1) untuk parameter itu Anda mendapatkan array kembali dengan angka terakhir menjadi posisi ruang terakhir.LOOKUP
kemudian mengekstraksi angka itu dengan mencari nilai yang lebih besar dari nilai apa pun yang mungkin ditemukan dalam array itu, dalam hal ini angka terakhir ditemukanDalam
Excel 2010
atau lambat Anda juga bisa menggunakanAGGREGATE
fungsi seperti ini=AGGREGATE(14,6,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))),1)
FIND
mengembalikan array yang sama seperti sebelumnya dan dengan menggunakan 14 sebagai argumenAGGREGATE
1 dan 1 sebagai yang terakhir Anda mendapatkan nilai terbesar dalam array, sementara mengabaikan kesalahan [6]sumber
"1:"&LEN(A1)
dievaluasi menjadi "1:12" - itu adalah string yang ROW tidak dapat diproses tetapi INDIRECT mengubah string menjadi referensi yang valid yang dapat ditangani oleh ROW sehingga ROW (1:12) kemudian memberi Anda {1 ; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12}barry larry houdini
maka FIND akan mengembalikan array ini{6;6;6;6;6;6;12;12;12;12;12;12;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
dan LOOKUP dan / atau AGGREGATE akan mengambil nilai numerik terakhir / terbesar dari itu, yaitu 12