Hoppa till huvudinnehåll

Hur definierar man intervall baserat på ett annat cellvärde i Excel?

Att beräkna ett värdeintervall är lätt för de flesta av Excel-användare, men har du någonsin försökt beräkna ett värdeintervall baserat på numret i en specifik cell? Till exempel finns det en kolumn med värden i kolumn A, och jag vill beräkna antalet värden i kolumn A baserat på värdet i B2, vilket betyder att om det är 4 i B2, kommer jag att genomsnitta de fyra första värdena i kolumn A som visas nedan. Nu introducerar jag en enkel formel för att snabbt definiera intervall baserat på ett annat cellvärde i Excel.
doc definierar intervall efter cellvärde 1

Definiera intervall baserat på cellvärde


pil blå höger bubbla Definiera intervall baserat på cellvärde

För att göra beräkningar för ett intervall baserat på ett annat cellvärde kan du använda en enkel formel.

Välj en tom cell som du kommer att lägga ut resultatet, ange denna formel = GENOMSNITT (A1: INDIRECT (CONCATENATE ("A", B2)))och tryck på ange för att få resultatet.
doc definierar intervall efter cellvärde 2

Notera:

1. I formeln är A1 den första cellen i kolumnen du vill beräkna, A är den kolumn du beräknar för, B2 är den cell du beräknar baserat på. Du kan ändra dessa referenser efter behov.

2. Om du vill göra en sammanfattning kan du använda den här formeln = SUM (A1: INDIREKT (SAMMANFATTNING ("A", B2))).

3. Om de första uppgifterna du vill definiera inte finns i första raden i Excel, till exempel i cell A2, kan du använda formeln så här: = GENOMSNITT (A2: INDIRECT (CONCATENATE ("A", ROW (A2) + B2-1))).
doc definierar intervall efter cellvärde 2


Räkna / summera celler snabbt efter bakgrund eller formatfärg i Excel

I vissa fall kan du ha ett antal celler med flera färger, och vad du vill är att räkna / summera värden baserat på samma färg, hur kan du snabbt beräkna?
Med Kutools för Excel's Räkna efter färg, kan du snabbt göra många beräkningar efter färg och också kan generera en rapport över det beräknade resultatet.  Klicka för gratis testversion av alla funktioner om 30 dagar!
dok räkna efter färg 1
 
Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar.

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
Comments (21)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
But If I want to sum a column range(say l7:l7800) out of the range d7:ct9000 based on the condition in column a(a7:a9000) and column b(b7:b9000). How will I do it. Please advise
This comment was minimized by the moderator on the site
Is there a way to create a dynamic ranged view, that will isolate all orders from a specific client within a list of clients? I have looked at multiple videos and none actually do what I need it to do. Is there a way to do this or would I need to pull the needed info into a controlled table and use the information from that table?
This comment was minimized by the moderator on the site
Hi, CareTaker. I do not get your question clearly. Could you describe your question or upload a file to show the quetion in details? But I recomend a utility called Data Association for you, maybe can help you, go to this web for details: https://www.extendoffice.com/product/kutools-for-excel/excel-click-cell-to-filter-based-on-another-workbook.html.
This comment was minimized by the moderator on the site
Thank you for the response, its quite the complicated thing to explain but I did manage to come right in the end using the indexing formula with the match formula as well.   =INDEX($B:$B;MATCH($C$2;$B:$B;0);):INDEX($N:$N;MATCH($C$2;$B:$B;0)+$C$3-1;)   at first it was confusing but I'm good now 
This comment was minimized by the moderator on the site
how do I update sum range by using helper cell...For example: if initial sum range is = C1 to M1, how to do change sum range if new data is up to AB1 using a helper cell, instead of changing the formula manually?
This comment was minimized by the moderator on the site
What if the rage is not column, but a row?
This comment was minimized by the moderator on the site
That's a bit trickier as I just found out. You need to use a combination of the CHAR function to convert a number to a letter, CONCAT to piece together a letter and number comprising a cell address, and the INDIRECT function to recognize strings as cell addresses.

In my example, I wrote the following expression:

=SUM(INDIRECT(CONCAT("F",ROW())):INDIRECT(CONCAT(CHAR(64+5+$B$31),ROW())))


where:
Row() is the current row
$B$31 is the cell where the # of columns to count is stored
5 is the offset for the first column to be counted

if you need to go beyond column Z, you’d need a less intuitive variant on that expression using the ADDRESS function:

=SUM(indirect(concat("F",row())):indirect(ADDRESS(row(),$B$31+5,4)))


where:
4 indicates a relative reference
This comment was minimized by the moderator on the site
Hi quick question. My formula =SUMIFS(DATA!$D$5:$D$13914,DATA!$E$5:INDIRECT(CONCATENATE("$E$",C3)),"<"&"1/1/2016") has a range that is from another tab called "DATA." I keep getting #VALUE! errors for this formula. Any suggestions? thanks!
This comment was minimized by the moderator on the site
Earlier I posted: Great formula but why does it only work when referring to the first cell. In other words, if you move the whole range down and the first cell in the range is A5 instead of A1, the formula ceases to work.
After playing with it, I figured out why the formula is not working when the starting row is not row 1. Excel interprets this as the range being A1 thru A4. If you are starting with a different row than row 1, here is how to modify the formula assuming the range now starts with A5:=MAX(A5:INDIRECT(CONCATENATE("A",ROW(A5)+B2)))
This works because the concatenation sees the row reference as fixed in the first example, but it becomes relative in the second example. Hope that helps!
Jared - You can just subtract 4 instead of adding. =MAX(A5:INDIRECT(CONCATENATE("A",ROW(A5)-B2))) [Assuming you have 4 in cell B2, or you could just leave the formula as is and put -4 in cell B2.]
This comment was minimized by the moderator on the site
Hi,cathy, thanks for your supplement, I have test your formula, I think the correct formula may be =MAX(A5:INDIRECT(CONCATENATE("A",ROW(A5)+B2-1))). I have update the tutorual. Thanks again.
This comment was minimized by the moderator on the site
Great formula but why does it only work when referring to the first cell. In other words, if you move the whole range down and the first cell in the range is A6 instead of A1, the formula ceases to work. That seems strange.
This comment was minimized by the moderator on the site
What if I want to count upward from a cell rather than downward? In the above example, the formula starts with A1 and goes downward. Let's say I want a range of 4 cells, beginning with Cell A10 and going to A6. Thank you!
This comment was minimized by the moderator on the site
Jared - See my most recent post for how to solve this.
This comment was minimized by the moderator on the site
I'm having this upward problem also but unable to see your other post for the solution. Can you give me link of the post please? Many thanks!
This comment was minimized by the moderator on the site
Hi, here is a formula may help you to calcualte upward.
=AVERAGE(INDIRECT(CONCATENATE("A",COUNT(A:A)-B1+1)):INDIRECT(CONCATENATE("A",COUNT(A:A))))
A:A is the column that you want to calcualte the average values, B1 is the cell that define the range in column A to calculate.
This comment was minimized by the moderator on the site
Thanks, but may I know why need to use "-B1+1" please?
This comment was minimized by the moderator on the site
Hi, Let me take a detailed example to explain it for you. There are 10 rows in column A, I want to get the last 2 values' average, in other words, average the values in row 9 and row 10. Now B1 contains 2, =COUNT(A:A)-B1+1 will get the result 9, COUNT(A:A) will get the result 10 (the last row of the column A). Now combine other functions to averaget the values in row 9 and row 10. Hope this can help you.
This comment was minimized by the moderator on the site
Can I use this syntax while referring to a different sheet?
This comment was minimized by the moderator on the site
If you want to sum referring to a Different Shet In CONCATENATE formula write [ SHEET NAME+COLUMN+ROW]
Formula=SUM(INDIRECT(CONCATENATE("Sheet1!","D",1)):INDIRECT(CONCATENATE("Sheet1!","D",5)))
This comment was minimized by the moderator on the site
Hi, Thank you so much for your help, but I have a small problem that is I don't have just one column but several ones (about 100 columns) is there a way to change the formula to accommodate the change in columns so O can get the sum for Columns A B C and so on. thanks for your help
This comment was minimized by the moderator on the site
Thank u for your message. If you want to sum first n values across multiple continuous columns, just change A to the last column you ues. EG, sum first 5 values across column A to column D, apply this formula =SUM(A1:INDIRECT(CONCATENATE("D",F2))).
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations