Excel'de geçerli hücrenin üzerindeki tüm sayıları nasıl toplayabilirim?


31

Excel'de bir başlık, bir demet sayıdan oluşan bir sütuna sahip olmak ve ardından bu sayıların toplamını en altta tutmak istiyorum. Toplamın, toplamın üstünde yeni sayıların eklenmesine uyum göstermesini istiyorum. Bunun gibi bir şey:

Numbers
 1
 2
 5
10

18        Total

Daha sonra listenin ortasına 10 yeni numara girersem, toplamın onları otomatik olarak eklemesini istiyorum.

SUM()Fonksiyonun bir sütunun tamamını toplayabildiğini biliyorum , ancak eğer toplam da o sütundaysa o zaman dairesel bir referanstan şikayetçi. Toplamın üzerindeki sayıları nasıl toplayabilirim?

Yanıtlar:


51

İşlevler ROW()ve COLUMN()geçerli hücrenin satırını ve sütununu verir. ADDRESS()Geçerli sütunun en üstünden toplamın üstündeki satıra kadar olan aralığı temsil eden bir dize oluşturmak için bunları işlevde kullanın . Ardından INDIRECT()bu dizeyi SUM()işleve vermek üzere gerçek bir aralığa dönüştürmek için işlevi kullanın. Toplam hücre için formül daha sonra olacaktır:

=SUM(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN())))

Bunu bir elektronik tablodaki herhangi bir hücreye koyun ve bu hücrenin üzerindeki sütundaki tüm sayıların toplamını üretecektir.


1
@ user370646 Aslında, yeni eklenmiş farklı hücrelerde birkaç farklı formül türü kullanarak Excel 2010 ile test ettim ve doğru çalıştı. (Eklenen hücreler, hücreye toplamı gösteren bir formül içeriyorsa, dairesel bir referans hatasıyla başarısız olur.) Belirli örnekleriniz var mı?
Mark Meuer

1
Milyonun +1 katı. Bu, toplam işlev aralıklarının -DON'T- otomatik olarak güncellendiği Google Sayfalarında çalışır. Çok teşekkür ederim.
seekerOfKnowledge,

1
Google E-Tablolar’da test ettim ve işlevlerin kombinasyonu mükemmel çalışıyor.
Paz

1
Bu cevap hayatımı kurtardı!
kRazzy R

1
LibreOffice Calc'ta da çalışıyor gibi görünüyor.
Dejan

6

Aslına bakarsan, istediğini yapabilirsin. =SUM()

Excel sayfanızın aşağıdaki tasarıma sahip olduğunu varsayalım:

\|  A  |  B  |
-+-----+-----+
1|  1  |     |
2|  2  |     |
3|  3  |     |
4|  4  |     |
5|  5  |     |
6|     |     |
7|  15 |Total|

Assumng A7, =SUM(A1:A5)Excel'in =SUMaralığını buna göre genişleteceği için, istediğiniz kadar daha fazla satır ekleyebilirsiniz .

Şimdi 2, 3 ve 4 numaralı satırları seçtiğimi ve satır eklediğimi varsayın. Sonuç aşağıdaki gibi olacaktır:

 \|  A  |  B  |
--+-----+-----+
 1|  1  |     |
 2|     |     |
 3|     |     |
 4|     |     |
 5|  2  |     |
 6|  3  |     |
 7|  4  |     |
 8|  5  |     |
 9|     |     |
10|  15 |Total|

A10eşittir =SUM(A1:A8). Böylece, artık istediğinizde yeni numaralar ekleyebilirsiniz.


1
Şimdi onu hecelediğine göre, bu davranışı biliyordum. Fakat bazı nedenlerden dolayı, her zaman mevcut hücrenin hemen üstünde toplanacak bir formüle sahip olmanın kullanışlı olacağını düşünüyordum. Ancak, basit toplama aralığını oluşturmak, elde ettiğim karmaşık formülden daha kolaydır. Ben yarıya kadar zekiydim. Teşekkürler! (En azından daha önce kullanmadığım INDIRECT ve ADRES hakkında daha fazla şey öğrendiğim konusunda kendimi
pekiştirmem gerekecek

2
Bir yıl sonra daha fazla oy almaya devam ettiği için gönderdiğim cevaptaki kabul edilen cevabı değiştirdim, soruda istediğim işi yaptı ve görünüşe göre bu cevabın olmadığı yerlerde Google e-tablolarında çalışıyor. Ancak, @Doktoro, cevabınız çok yararlı bilgiler sağladı ve bunun için minnettarım.
Mark Meuer,

1
Bir kusur var: Sonuna bir satır ekleyin (boş satırdan önce). En azından LibreOffice'de bu, SUM formülünü orjinal aralığına bırakacak, yani yeni satırı atlayacak. Benim çözüm: SUM(OFFSET(A$1; 0; 0; ROW(A7)-ROW(A$1); 1)). Yukarıda bir satır değil kendisine atıfta bulunduğundan, aralığı her zaman doğru şekilde ayarlayacaktır.
Tilman Vogel

@TilmanVogel'in şoku bir cevap! Çok teşekkür ederim
Genarito

5

Bu cevap Terazi Ofisine özgüdür ancak Excel için de çalışması gerekir.

Temel olarak, dondurulacak satırdan / sütundan açıkça bahsetmek istiyorsak, bu satır / sütunla birlikte $ 'dan bahsetmeliyiz.

* Formülü diğer hücrelere kopyaladığınızda, Terazi Ofisi formül değerlerini nasıl değiştirmesi gerektiğini otomatik olarak belirleyecek şekilde yerleşik bir algo vardır.

Öyleyse, G1: GN => tüm satırları eklemek zorunda olduğunuzu varsayalım; burada N, geçerli satır numarasıdır. Bunun için ilk değerin satırını düzeltmek ve diğer değerleri olduğu gibi tutmak istersiniz. Yani formül şöyle olacak:

= SUM (G $ 1: G1) -> 1. satır için formülü kopyalayıp diğer hücrelere yapıştırabilirsiniz.

Terazi Ofisi otomatik olarak G1'i ilk değer olarak tutacak ve her hücrede 2. değeri dinamik olarak G2, G3 vb. Olarak değiştirecektir.


Apostolos55'in cevabına göre> = Toplam ($ A1: A1) <, aynı sütundaki diğer hücrelere kopyalandığında Satır hala değişirken, yalnızca A sütunu sabit olarak çalışmayacaktı. Bu nedenle, formülde doğru değerleri alabilmek için $ satırın sonuna eklenmelidir. Dahası, diğer kombinasyonların ne olabileceğini açıklamadı, ben de alternatifi verdim. Hücrenin sabit tutulması gerekiyorsa, $ hem Satır hem de Sütunda uygulanmalıdır.
Prateek

3

tamam, Dolaylı () değişkendir ... böylece sayfanız büyüdükçe, sadece yavaşlar. Size uygunsa, daha iyi kullanmalısınız:

=Sum($A1:A1)

Bu formülü aşağıya sürüklerken, A1'den geçerli (veya önceki vb.) hücreye kadar bir aralığınız olur. Uçucu değil, çok hızlı, çok daha basit!


Cevap için teşekkür ederim. Lütfen anlamama yardım et, cevabın @Doktoro Reichard’dan farklı mı?
Mark Meuer,

Bu, bir sonraki sütunda belirtilen, hücrelerinizin yanında "takip edebilecek" bir miktardır. O zaman bir IF ile sadece son toplamı gösterebilir / hesaplayabilirsiniz. Muhtemelen aradığın şeyi değil, bilmek güzel.
Apostolos55

Bilgi için teşekkürler. Sorunu, asıl sorudan çözemediği (özellikle hücrenin üzerindeki sayıyı toplamak için bir formül arayan ), başka durumlarda yardımcı olabilir.
Mark Meuer,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.