Saya membandingkan posisi rekor ke posisi tahun lalu: This year it is ranked 4th out of 50, in 2015 it was ranked 21st
. Apakah mungkin untuk menambahkan "st", "nd", "rd" dan "th" ke peringkat secara otomatis?
Data saya ada di dalam tabel:
- COL A = Nama titik data (Bob, Jane, Bill, Anne, dll.). Ini adalah kolom tetap.
- COL B = data tahun terbaru,
- COL C = peringkat tahun terbaru,
- COL D = data tahun sebelumnya,
- COL E = peringkat tahun sebelumnya.
Saya cukup nyaman menggunakan rumus IF, tapi saya tidak yakin bagaimana merujuk ke digit terakhir dalam sel dan berkata: JIKA "itu 1 lalu 'st'", JIKA "itu 2 lalu 'nd'", JIKA "itu 3 maka 'rd'", kalau tidak 'th'.
Perhatikan bahwa peringkat dapat berupa angka multi-digit. Surat-surat didasarkan pada digit terakhir. Jadi peringkat 31 adalah 31. Itu juga pengecualian untuk para remaja. Peringkat 11, 12 dan 13 menggunakan "th".
Apakah ini dapat dilakukan sebagai formula atau perlu dilakukan oleh VBA?
microsoft-excel
worksheet-function
RocketGoal
sumber
sumber
Jawaban:
Berikut ini mengasumsikan "peringkat" ada di sel B50 "
Di atas akan memberi Anda hasil seperti "st", "nd" dll
Meskipun saya curiga Anda juga ingin menunjukkan nomornya, jadi gunakan
Ini akan menampilkan hasil seperti "1", "2" dll
Berkat komentar ejbytes, saya tidak menguji> 10! Cuplikan berikut melakukannya sehingga Anda dapat memiliki 22 atau 43 dll
Sekarang kita masuk ke isu 11, 12 dan 13, serta 111, 112, 113 dll, jadi kita harus menanganinya!
Akhirnya, kita pergi dengan 0 ... 10, 50, 100, tetapi kita juga memiliki 0!
sumber
Bekerja dengan formula @Dave IF saya harus membuat beberapa perubahan pada lembar data saya.
Mengenali angka paling kiri berarti saya perlu menambahkan kolom 'pembantu' lainnya.
Kolom C memiliki rumus
Saya harus menangani 12 dan 13 secara khusus ... karena bahasa Inggris!
Itu bekerja, tetapi mungkin menyakiti mata. Terima kasih
sumber