Låååååååångt svar. Se det som ett led i din personliga utveckling :stud
Antag att du i cell K1 skriver starttalet (11) och i K2 sluttalet (107)
Då kan du använda förskjutning
Om dina "utplockade" siffror står i B-D kolumnen ger det här antalet 2:or i hela intervallet
=ANTAL.OM(B1:D99;2)
och den här formeln tittar i Rad 11 -107 (om det är 11 ch 107 som står i K1, K2)
=ANTAL.OM(FÖRSKJUTNING(B1:D1;$K$1-1;0;$K$2-($K$1-1));2)
Vilket, väl egentligen är det du frågar efter?
Ett enklare alternativ skulle kunna vara att manipulera din rådatalista så att den bara visar de tal du vill undersöka.
Istället för att skriva 1-999 i cell A1 till A999 så kan du i cell A1 skriva formeln
=K1
Och i A2 skriver du
=OM(A1="";"";OM(A1+1>$K$2;"";A1+1))
Kopiera ner till A999 så har du en lista som styrs via K1 och K2
En helt annan metod om du vill slippa alla hjälp-listor.
För att räkna förekomsten av siffran 2 i t.ex talet 928723 så kan du köra ett "fulknep"
=LÄNGD("928723")-LÄNGD(BYT.UT("928723";"2";""))
BYT.UT gör precis vad det låter som. Vi ersätter alla 2:or med ingenting "". Sen jämför vi längden av 928723 med 9873 och vet att talet hade 2 stycken 2:or. Lite onödigt och omständligt, men excel har inget riktigt bra sätt att räkna förekomsten av saker i en text (eller, det kanske finns i excel 2010, men det känner jag inte till).
Fördelen är att du slipper skapa dina hjälplistor.
Du kan direkt i B kolumnen räkna ut antalet förekomster av t.ex 2
typ:
=SUMMA(LÄNGD(A1)-LÄNGD(BYT.UT(A1;"2";"")))
det har du kankse inte vunnit så jättemycket på, men det kan kombineras med en matrisformel där du tittar i hela ditt intervall, typ:
=PRODUKTSUMMA(LÄNGD(A1:A99)-LÄNGD(BYT.UT(A1:A99;"2";"")))
Dvs en enda formel räknar ut antalet 2:or i hela intervallet utan en massa hjälpkolumner, ganska trevligt.
Kopplar du den till dina intervall så blir den ändå trevligare:
=PRODUKTSUMMA(LÄNGD(FÖRSKJUTNING($A$1;$K$1-1;0;$K$2-($K$1-1)))-LÄNGD(BYT.UT(FÖRSKJUTNING($A$1;$K$1-1;0;$K$2-($K$1-1));"2";"")))
Istället för att skriva "2" så kan du länka till en cell, tex C2
=PRODUKTSUMMA(LÄNGD(FÖRSKJUTNING($A$1;$K$1-1;0;$K$2-($K$1-1)))-LÄNGD(BYT.UT(FÖRSKJUTNING($A$1;$K$1-1;0;$K$2-($K$1-1));C2;"")))
Fördelen är naturligtvis att du kan skriva 0-9 i t.ex C1 till C10 och bara kopiera formeln.
Det sista steget är att helt skippa alla tabeller, även A-kolumnen och bara använda formler som hämtar indata från 3 celler:
K1 är minivärdet
K2 är maxvärdet
C2 är siffran du letar efter
=PRODUKTSUMMA(LÄNGD(RAD(INDIREKT($K$1&":"&$K$2)))-LÄNGD(BYT.UT(RAD(INDIREKT($K$1&":"&$K$2));C2;"")))
Din hemläxa är att lista ut hur/varför det fungerar :-)
Allt utom K1, K2 C1-C10 och formelcellerna kan raderas
/Mindre vetande, mer tyckande
Ledtrådar till sista funktionen:
indirekt används nästan på samma sätt som "förskjut" om man vill skapa en adress utifrån det värde som står i en cell
INDIREKT($K$1&":"&$K$2) = 11:107
Men det kan man av någon anledning inte använda direkt utan man får snurra till det med
RAD(INDIREKT($K$1&":"&$K$2))
som ger tal-serien 11-107 "på riktigt" (fråga inte, det bara är så)
Föredrar man förskjutning så kan man använda den här istället, men det är samma sak.
=PRODUKTSUMMA(LÄNGD(RAD(FÖRSKJUTNING($A$1;$K$1-1;0;$K$2-($K$1-1))))-LÄNGD(BYT.UT(RAD(FÖRSKJUTNING($A$1;$K$1-1;0;$K$2-($K$1-1)));C2;"")))