Menghasilkan tes acak dari spreadsheet dan templat di Office 2013

0

Tugas yang ingin saya selesaikan adalah menyimpan bank item di Excel, lengkap dengan teks untuk item tersebut, jawaban yang benar, memberi tag pada item untuk menunjukkan apa yang diukur dan bahan apa yang menjadi dasarnya.

Dengan data ini, bagaimana saya bisa membuat template di Word yang akan memungkinkan saya untuk meminta item acak yang memenuhi kriteria tertentu dari bank item?

Ini akan bagus untuk hanya bisa mendesain banyak item, dan membuat template sehingga setiap kali saya ingin kuis 'segar' saya hanya dapat menyegarkan atau mengklik beberapa urutan tombol sederhana lainnya.

Alat apa yang akan saya gunakan dalam Office untuk mencapai ini?

William J. Denny
sumber
1
Gunakan Akses sebagai "Item Bank" Anda karena itu untuk Database, sedangkan Excel untuk Spreadsheets.
Ƭᴇcʜιᴇ007

Jawaban:

0

Inilah satu pendekatan yang tidak menggunakan VBA. Ini mengasumsikan bahwa Anda menggunakan Windows Word (itu tidak akan berfungsi pada Mac Word) dan

  • jumlah item yang Anda inginkan dalam dokumen Anda diperbaiki (mis. tidak bervariasi secara acak)
  • "Item Bank" Anda adalah lembar Excel tabular, mis. semua baris berisi kolom yang sama, dan baris pertama berisi nama kolom.
  • baik data untuk templat Anda hanya perlu berasal dari satu baris yang dipilih secara acak, atau jika Anda membutuhkan data dari beberapa baris, itu tidak masalah jika mereka terkadang baris yang sama.

Mari kita asumsikan buku kerja Excel Anda di c: \ xl \ rnd.xlsx dan datanya ada di Sheet1.

Panggil kolom pertama k, dan masukkan nomor baris di dalamnya, jadi sudah

k
1
2
3

...

Panggil kolom kedua r. Di sel B2, masukkan formula berikut

=COUNT(A:A)

Dalam sel B3, B4 dll. Taruh formula berikut

=RANDBETWEEN(2,$B$2)

Jangan gunakan baris 2 (dengan k = 1) untuk data Anda.

Buat dan isi sebanyak mungkin kolom tambahan yang dibutuhkan (hingga 255 total). Jika Anda memiliki kolom dengan teks memo (panjang lebih dari 255 karakter), pastikan Anda memasukkan teks memo di baris 2. Itu harus memastikan bahwa Word akan mendapatkan teks lengkap dari setiap bidang memo nanti.

Di Word, untuk setiap item yang ingin Anda sisipkan, masukkan bidang bertumpuk berikut, menggunakan nama kolom dari item data yang ingin Anda masukkan alih-alih "kolom saya"

{ DATABASE \d "c:\\xl\\rnd.xlsx" \s "SELECT mycolumn FROM [Sheet1$] WHERE k = { DATABASE \d "c:\\xl\\rnd.xlsx" \s "SELECT r FROM [Sheet1$]  WHERE k = 2" }" }

(pastikan Anda menggandakan garis miring terbalik pada nama path, dan memastikan bahwa kedua pasang {} adalah kurung kode bidang khusus yang bisa Anda sisipkan menggunakan ctrl-F9 pada Windows Word.

Jika Anda menginginkan lebih dari satu item dari baris Excel yang sama, gunakan baris indeks yang sama (mis. K = 2). Jika Anda ingin item dari catatan yang berbeda, gunakan indeks yang berbeda (mis. K = 3)).

Simpan template Anda.

Saat Anda ingin membuat tes baru (atau apa pun),

  1. Buka file Excel dan tambahkan semua data baru yang Anda butuhkan, lalu hitung ulang. Simpan file Excel tetapi jangan ditutup. lembar. Itu harus memperbarui nilai-nilai RANDBETWEEN
  2. Buat salinan template Anda (jika itu biasa .docx / m, atau buka a dokumen baru berdasarkan itu (jika itu adalah .dotx / m) dan simpan
  3. Pilih badan dokumen (ctrl-A) dan tekan F9 untuk memperbarui semua bidang
  4. Dengan asumsi Anda puas dengan hasilnya, "perbaiki" dengan memilih mendokumentasikan tubuh dan menekan ctrl-shift-F9.
  5. Simpan dokumen

Ada beberapa kelemahan dari pendekatan ini, termasuk

  • Seperti disebutkan sebelumnya, jika Anda membutuhkan data yang berasal dari baris yang berbeda, ini tidak akan menjamin bahwa mereka berbeda, karena r dapat memilikinya nilai yang sama untuk beberapa nilai k. Saya kira jika Anda tidak punya banyak data, Anda dapat mengulangi langkah (1) dan (3) hingga Anda memiliki hasil yang memuaskan. Kalau tidak, akan perlu untuk memikirkan a cara untuk menghindari mendapatkan duplikat baris, dan itu mungkin akan terjadi melibatkan VBA, dalam hal ini Anda sebaiknya melakukan semuanya a cara yang berbeda.
  • Juga, hari ini, Word tidak membantu memasukkan tanda paragraf di mulai dari setiap hasil bidang DATABASE. Ini dapat dihapus untuk hasil numerik dan tanggal menggunakan saklar format angka / tanggal, tetapi tidak untuk teks. Jika Anda harus menghapus tanda paragraf itu, Anda akan butuh mekanisme yang andal menggunakan Find / Replace, atau (lagi) sedikit dari VBA.
  • Bidang DATABASE tidak berfungsi di tabel Word (dan mungkin lainnya tempat). Jika Anda perlu meletakkan data di tempat-tempat itu, Anda harus melakukannya gunakan bidang SET untuk mengatur bookmark ke suatu hasil, lalu gunakan bidang REF di mana Anda menginginkan data.

sumber