Saya ingin mendapatkan konten sel yang diberi nomor baris dan kolomnya. Nomor baris dan kolom disimpan dalam sel (di sini B1, B2). Saya tahu solusi berikut berfungsi, tetapi mereka merasa agak hack.
Sol 1
=CELL("contents",INDIRECT(ADDRESS(B1,B2)))
Sol 2
=CELL("contents",OFFSET($A$1, B1-1,B2-1))
Apakah ada metode yang tidak kalah verbose? (seperti = CellValue (baris, kolom) atau apa pun)?
Edit / Klarifikasi: Saya hanya ingin menggunakan rumus lembar kerja excel. Tidak ada VBA. Singkatnya, saya cukup banyak mencari metode yang setara dengan VBA Cells () sebagai Formula excel.
excel
excel-formula
Philipp
sumber
sumber
Jawaban:
Anda tidak memerlukan bagian CELL () dari rumus Anda:
atau
keduanya akan bekerja. Perhatikan bahwa keduanya
INDIRECT
danOFFSET
merupakan fungsi yang mudah menguap. Fungsi volatil dapat memperlambat penghitungan karena dihitung pada setiap penghitungan ulang.sumber
INDIRECT
+ADDRESS
adalah cara untuk pergi. Excel dalam bahasa saya diterjemahkanOFFSET
menjadi 2 kata yang dipisahkan oleh titik. Itu yang terburuk (bersama dengan umlaut di nama fungsi)!Coba = indeks (ARRAY, ROW, COLUMN)
dimana: Array: pilih seluruh sheet Row, Column: Referensi baris dan kolom Anda
Itu seharusnya lebih mudah dipahami oleh mereka yang melihat rumusnya.
sumber
Butuh beberapa saat bagi saya, tetapi inilah cara saya membuatnya dinamis. Itu tidak tergantung pada tabel yang diurutkan.
Pertama saya mulai dengan kolom nama negara (Kolom A) dan kolom pesawat di setiap negara bagian (Kolom B). (Baris 1 adalah baris header).
Menemukan sel yang berisi nomor pesawat adalah:
Saya memasukkannya ke dalam sel dan kemudian memberi nama sel itu, "StateRow". Kemudian menggunakan tip dari atas, saya akhiri dengan ini:
Ini mengembalikan nama negara bagian dari nilai dinamis di baris "StateRow", kolom 1
Sekarang, karena nilai di kolom hitung berubah seiring waktu karena lebih banyak data yang dimasukkan, saya selalu tahu negara bagian mana yang memiliki pesawat paling banyak.
sumber