2016-03-24 13 views
0

İstenilen ayın tamamını kişisel harcama alt kategorilerine ayırmaya çalışıyorum. Stackoverflow'u araştırdıktan sonra, gereksinimlerim için uygun görünen bir formül buldum. Formül değerlendirmesi sırasında istenen alanı bir satır aşağı kaydırarak buldum. Formülü, doğru sonuçları veren adhoc temelli isabet ve deneme ile değiştirdim. Bana göre başlangıçta seçilen formül oldukça uygun çıktı. Örnek veri sayfasının ve orijinal ve değiştirilmiş formülün değerlendirme adımlarının altında gösterdim. Birisi özellikle başlangıçta seçilen formül için neden ters gittiğini ve modifikasyonun problemi çözmede nasıl yardımcı olduğunu açıklayan kısmı açıklayabilir. Her nasılsa bu konuda kavramsal netlik elde edemiyorum. Ofset Ofset formülü mantıksal netlik

formula_evaluation_steps

Personal_Accounts evaluated with formula A Personal_Accounts evaluated with modified formula

Örnek Veri dosyaları

Personal_Accounts evaluated with formula A

Personal_Accounts evaluated with modified formula

cevap

3

belirterek eserleri Ofset:

sonra fazla satır ve sütun sonra bu konumdan hareket ve nasıl belirten bu örnekte (A1 dengeleyecektir hangi alınan bir hücre) ne kadar uzun ve aralığı yapmak için geniş.

Aşağı taşınacak satır sayısı: Bu durumda satır sayısı Match() tarafından belirlenir. Match(), aralığındaki satır sayısını aşağıya SS değerinin bulunabileceği şekilde döndürecektir. Cevap, 5. Ofset artık Aralık A1 + 5 satırlarına bakıyor: A6

Taşınacak sütun sayısı: Burada 1 sütun taşıyoruz. Komik bir iş yok. İşte COUNTIFS() aralığında A2:A9 bulunan kez SS sayısını döndürmek için kullanılır: Yeni aralık B6

satır sayısı o başlangıç ​​noktasından aralığında eklemektir. Cevap 3. Böylece aralık B6'da başlayacak ve aralıkta üç sıra içerecek. Esasen B6:B8. Bu senin aralığı artık aralık B6:H8

OFfseT() dönmesini, yani hücrenin A13 yanı da bu yana 7 var Burada ve Sum

özetliyor:

Son olarak, sütun sayısı aralığında dahil etmek

MATCH() sonuçlarından birini çıkardınız ve B5:H7 üretmek için bu formülü düzgün bir şekilde taşıdınız. Ayrıca MATCH() aralığındaki arama aralığını A2:A9 olarak değiştirmiş olabilirsiniz, bu da muhtemelen okunabilirlik açısından daha anlamlı olacaktır.

Son olarak, COUNTIFS(), çok sayıda koşulu değerlendirmediğiniz için yalnızca COUNTIF() olabilir. Ben sıfırdan yazmak zorunda olmadığını

Yani, kullanırsınız: sana aynı doğru cevabı alacak

=Sum(Offset(A1, Match(A2:A9, A12, 0), 1, Countif(A2:A9, A12), A13) 

, herhangi matematik olmadan Match() sonuçlarına.

+0

Doğru yaklaşımı açıklamak, açıklamak ve önermek için teşekkürler. – skkakkar

1

iki ana işlevi vardır - ya belirtilen sayıda satır kullanarak hücre (hedef) geçmek için ve başlangıç ​​noktasından sütunlar veya Hedef hücrede başlayan satır ve sütun sayısı. o A1 + 5 sıralar halinde başlar, çünkü orijinal formülü

MATCH(A12;A1:A9;0) 

eşleşti hücre beşinci bu bölümünde sorunu var bu nedenle, hamle A6 biten aşağı 5 satır ofset. Daha sonra B6'da olmak için 1 sütunu taşır ve daha sonra toplam 3 satır ve 7 sütun = B6: H8 aralığı oluşturur. Bu yüzden, maçın sonucundan 1'i sağdaki satırın sonuna kadar çıkarmanız gerekir. Daha iyi anlaşılması için SS değerinin A1: A9 (A1'de) aralığının ilk satırında olup olmadığını düşünün - o zaman hiç bir şekilde hareket etmesini istemeseniz de ofset A1 bir satırdan A2'ye hareket eder. Temel ofset formül tanımınıza bakın.

+0

Konuyu açıkladığınız için teşekkürler. Ofset mantığındaki güzel kavramı açıkladınız. – skkakkar

0

Offest (REFERANS HÜCRE, REFERANS, EFERENCE GELEN KAÇ KOLONLAR HAREKET İÇİN GELEN HAREKET kaç satır, İADE İÇİN KAÇ KOLONLAR, KAÇ satırları döndürmek için) Eğer A1 referans hücre ayarlamak eğer öyleyse

ve sonucu A2'ye geri döndürmek istiyorsanız, referans hücrenizden 1 sırayı aşağıya taşımanız gerekir.

OFFSET ($ A $ 1,1,0,1,1) Şimdi bilgilerin ne olduğunu konum, denklemin maç kısmı, MAÇ dönüş bakarsak. Bulduğumuz istiyorsak

A2'deki bilginin A1: A100'den bir aralıkta eşleşmesi, Maç, A2'deki bilgilerin kolonun 2. pozisyonunda olduğunu söyleyecektir. Ya da daha doğrusu 2 değerini döndürür.

Şimdi, 2. pozisyona ne kadar aşağı inmesi gerektiğini saptamamız gerekiyor. Referans noktamız birinci satır olan A1 olduğundan, ikinci sıraya geçmek için 2 sıra aşağı doğru hareket etmesini istemiyoruz. Sonuç olarak, ikinci sıraya ulaşmak için 1 satır aşağı gitmek istiyoruz. Yani maç sonuçlarından 1 tane daha azını maç yaparak doğru bir şekilde yaptın (...) -1