Disebabkan masalah ini, jadual inventori yang saya sediakan adalah jadual yang sama untuk "masuk, keluar dan deposit".
Mengenai penyusuan, bilangan penyusuan tidak dapat ditentukan, malah lebih tidak menentu. Hanya mengisi borang inventori dengan "=" akan meninggalkan banyak ruang.
Anda boleh menggunakan formula tatasusunan untuk mengembalikan nilai berangka nama produk (nombor, spesifikasi, dll.) yang memenuhi syarat. Tetapi perlu diingatkan bahawa formula tatasusunan mesti mempunyai julat tertentu, dan tidak boleh ada nilai nol dalam julat. Apabila bilangan baris tidak dapat ditentukan, formula tidak boleh dirujuk.
Dijawab oleh: Stcxj - Tempat Kedua Tahap 13 2009-8-25 15:58
Hanya tambah:
Oleh kerana ia dibahagikan kepada tiga jadual, nama produk dalam jadual "simpan" tidak boleh dikembalikan secara automatik. Jadi saya berkata, saya menyediakan borang yang sama untuk "masuk, keluar dan deposit". Kuncinya ialah tetapan dalam lajur "Simpan" (lajur):
Lajur A ialah nama produk (kriteria carian), lajur B adalah untuk entri, lajur C adalah untuk penyenaraian, dan lajur D adalah untuk penyimpanan.
Masukkan dari baris terakhir, lajur D (dengan andaian ia adalah baris ke-100), iaitu D100
=JIKA(DAN(A100"",COUNTIF(A100:A$100,A100)=1),SUMIF(A:A,A100,B:B)-SUMIF(A:A,A100,C:C), "") Tekan Enter dan isi ke atas!
Mungkin sukar untuk memahami apa yang anda katakan di sini atau tinggalkan alamat anda dan saya akan menghantar salinan kepada anda.
"zopey" bercakap tentang menggunakan fungsi "VLOOKUP" Anda mungkin tidak pernah terdedah kepada masalah "masuk dan keluar" bukan? Pada hari yang sama, banyak "pena" barangan dengan nama dan spesifikasi produk yang sama boleh "masuk dan keluar", dan hanya data teratas boleh dikembalikan.
Andaikan jadual hanya mempunyai 30 lajur Kategori inventori, keluar dan masuk ialah inventori, keluar dan masuk
.Klik Development Tools-VB Editor atau tekan ALT+F11-double-click sheet1-salin kod berikut ke tetingkap
Sub Helaian Kerja Persendirian_Perubahan(Sasaran ByVal Sebagai Julat)
Jika Target.End(xlUp) "Keluar" Dan Target.End(xlUp) "Inbound" Kemudian Keluar Sub 'Jika anda menukar lajur bukan keluar atau inventori, jangan jalankan program ini
Jika Target.Cells.Count > 1 Kemudian Keluar Sub 'Jangan jalankan program jika sel yang diubah lebih besar daripada 1
Jika Bukan Aplikasi.Fungsi Lembaran Kerja.IsNumber(Sasaran) Kemudian Keluar Sub 'Jika sel yang diubah bukan nilai berangka, jangan jalankan program
Malap rng Sebagai Julat, k%
Untuk Setiap Rng Dalam Julat("A1:AD1")
Jika rng = "Inventori" Kemudian
k = rng.Lajur
Keluar Untuk
Tamat Jika
Seterusnya
Application.EnableEvents = Palsu
Jika Target.End(xlUp) = "Keluar" Kemudian 'Apabila menukar keluar"
Sel(Sasaran.Baris, k) = Sel(Sasaran.Baris, k) - Sasaran 'inventori=kuantiti inventori-keluaran asal
Else 'Apabila perubahan dimasukkan ke dalam pangkalan data
Sel(Sasaran.Baris, k) = Sel(Sasaran.Baris, k) + Sasaran 'Inventori=kuantiti inventori-keluaran asal
Tamat Jika
Application.EnableEvents = Benar
Tamat Sub
Atas ialah kandungan terperinci Selesaikan masalah jadual inventori: beberapa masalah yang dihadapi dan penyelesaian fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!