Bagaimana cara Referensi semua sel non-kosong setelah baris A6 untuk Formula

1

Saya ingin menggunakan rumus berikut: INDEX(A6:A94,MODE(MATCH(A6:A94,A6:A94,0)))

Kecuali jumlah baris yang tepat bersifat ambigu (diimpor menggunakan VBA). Bagaimana saya bisa merujuk semua sel non-kosong mulai dari A6 untuk digunakan dalam rumus di atas?

Seharusnya seperti ini: INDEX(A6:A{last non blank},MODE(MATCH(A6:A{last non blank},A6:A{last non blank},0)))

Terima kasih!

Coding Novice
sumber
Sangat penting untuk mencoba menyelesaikan masalah Anda sendiri. Pencarian google cepat untuk "excel last non-blank cell" menghasilkan solusi dari StackOverflow .
Engineer Toast
Saya berharap semudah itu, tetapi sedikit lebih rumit dari itu. Saya mencari referensi ringkas A6: A {last non blank}.
Coding Novice
Saya perlu menggunakannya dalam formula dan tidak bisa mengetahuinya. Saya sudah mencari google cukup lama
Coding Novice
Saya belum menguji ini tetapi ini mungkin berhasil: "INDEX (A6: INDIRECT (" A "& amp; COUNTA (A: A)), MODE (MATCH (A6: INDIRECT (" A "& amp; COUNTA (A: A)) ), A6: INDIRECT ("A" & amp; COUNTA (A: A)), 0))) "
BillDOe
Anda juga dapat menggunakan rentang bernama dan menjadikan rentang itu dinamis. Rumus untuk rentang dinamis terlihat seperti ini: "= OFFSET (SheetName! $ A $ 1,0,0, COUNTA (SheetName! $ A: $ A), 1)" lalu gunakan rentang bernama dalam rumus. Anda bisa menjatuhkan SheetName! bagian jika formula ada di lembar yang sama.
BillDOe

Jawaban:

1

Ada banyak cara untuk referensi berbagai ukuran variabel. Ada juga beberapa cara untuk menemukan non-blank terakhir di kolom.


Pertama, bagaimana menemukan baris dengan kolom terakhir yang kosong A:A:

Saya akan membungkus formula ini dalam IFERROR pernyataan yang akan kembali 6 jika kesalahan keluar. Ini karena Anda menyatakan bahwa data Anda dimulai pada baris 6 jadi, jika terjadi kesalahan, ini akan membuat Anda kembali dengan adil A6 bukannya beberapa pesan kesalahan. Jika kamu ingin kesalahan untuk ditampilkan, lalu hapus saja IFERROR pembungkus.

Jika data Anda semua angka, gunakan ini: IFERROR(MATCH(10^308,A:A),6)
Jika semua data Anda adalah teks, gunakan ini: IFERROR(MATCH(REPT(CHAR(255),255),A:A),6)
Jika data Anda berupa angka dan teks, maka temukan nilai maksimal keduanya: MAX(IFERROR(MATCH(10^308,A:A),6),IFERROR(MATCH(REPT(CHAR(255),255),A:A),6)

Anda juga dapat menggunakan rumus array tetapi saya cenderung menjauhinya karena biasanya lebih lambat. Itu akan seperti yang ditunjukkan di bawah ini dan akan dimasukkan dengan Ctrl + Bergeser + Memasukkan . (Anda akan tahu itu benar jika tanda kurung kurawal {} muncul di kedua sisi rumus.)

MAX(ROW(A:A)*NOT(ISBLANK(A:A)))

Kedua, bagaimana referensi rentang A6:A{last non blank row}:

Karena Anda ingin referensi yang sama tiga kali, mungkin ide yang baik untuk menambahkan sel pembantu. Ada banyak cara untuk mendapatkan apa yang kita inginkan, tetapi saya akan menunjukkan beberapa. Katakanlah sel pembantu itu B1 dan formula yang Anda inginkan ada di B2. Saya hanya akan menggunakan rumus contoh "baris terakhir" untuk teks karena saya yakin itulah data Anda. Anda harus mengubahnya ke apa pun yang Anda butuhkan.

Itu INDEX metode: (mungkin opsi terbaik)

B1 = IFERROR(MATCH(REPT(CHAR(255),255),A:A),6)
B2 = INDEX(A6:INDEX(A:A,B1),MODE(MATCH(A6:INDEX(A:A,B1),A6:INDEX(A:A,B1),0)))

Itu INDIRECT metode:

B1 = "A6:A"&IFERROR(MATCH(REPT(CHAR(255),255),A:A),6)
B2 = INDEX(INDIRECT(B1),MODE(MATCH(INDIRECT(B1),INDIRECT(B1),0)))

Itu OFFSET metode:

B1 = IFERROR(MATCH(REPT(CHAR(255),255),A:A),6)
B2 =INDEX(OFFSET(A6,0,0,B1-5),MODE(MATCH(OFFSET(A6,0,0,B1-5),OFFSET(A6,0,0,B1-5),0)))
Engineer Toast
sumber
Jawaban yang indah!
Gary's Student
Tidak satu pun dari pendekatan INDIRECT atau OFFSET yang tidak stabil diperlukan. Konstruksi INDEX sederhana jauh lebih disukai untuk membuat rentang dinamis. Lihat posting saya di sini: stackoverflow.com/questions/30874261/…
XOR LX
@XORLX Saya tidak pernah menggunakan INDIRECT dalam bentuk referensi dan, sejujurnya, tidak menyadari bahwa ada satu. Ini bisa sangat berguna. Saya akan memperbarui sesuai. Terima kasih.
Engineer Toast