PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelRäkna tecken, multiplicera och ge värdetRäkna tecken, multiplicera och ge värdet
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2023-02-23 13:25
 

Hej,
Försöker skriva en formel som räknar antalet (från angivet fält av celler) av ex tecknet a,b,c (exempelvis formel antal.om) alltså antalet olika tecken och sedan önskar jag multiplicera a med en siffra som ex 2 och b med 3 och så i slutändan returnerar en total summa.

Av antalet tecken gånger de olika värdena för respektive tecken.
 

Någon som kan hjälpa mig med detta så är jag evigt tacksam! :) 🙌🙏

 

Bara återkom om jag är otydlig eller om detta inte alls är möjligt?

 

Tack på förhand

Nytt inlägg
 2023-02-23 15:15
 

Svårt att förstå frågan. Kan du ge lite bättre exempel? 

Står det bara ett tecken per cell? Eller kan det stå en text med flera tecken i en cell?

 

Om det bara står ett tecken i varje cell så kan du köra 

=ANTAL.OM(A1:A100;"A")*2+ANTAL.OM(A1:A100;{"B")*3    OSV

Eller fuska och skriv in matriser

=ANTAL.OM(A1:A100;{"A";"B";"C";"D"})*{2;3;4;5}

och summera

=SUMMA(ANTAL.OM(A1:A100;{"A";"B";"C";"D"})*{2;3;4;5})

eller så här om du vill ha A-Z  med vikten 2-27

=SUMMA(ANTAL.OM(A1:A100;TECKENKOD(SEKVENS(26;;65)))*SEKVENS(26;;2))

 

Eller använd Växla(). Då sitter "paren" sitter ihop och det borde vara enklare att bygga ut och felsöka

=SUMMA(OMFEL(VÄXLA(A1:A100;"a";2;"b";3;"c";4;"d";5);0))

 

Om du vill leta i texter, typ två A  i "ABBA" så får du krångla till det på andra sätt. typ

=SUMMA((LÄNGD(SAMMAN(A1:A100))-LÄNGD(BYT.UT(SAMMAN(A1:A100);{"A";"B";"C";"D"};"")))*{2;3;4;5})

Nytt inlägg
 2023-02-24 08:41
 

 Hej hej

Nedan lösning kräver 365 och fungerar om scenariot är enligt nedan beskrivning

Om du har ord i olika celler, där du vill lyfta ut antal unika tecken från alla ord sammansatta till en lång textsträng:

=UNIK(EXTEXT(SAMMAN($K2:$K3);RAD(INDIREKT("a2:a"&LÄNGD(SAMMAN($K2:$K3))));1))

Obs att du behöver byta ut K2:K3 på två ställen i formeln, och att detta ska motsvara området där dina ord ligger, alternativt enskilda tecken.Du behöver dessutom se till att det finns tillräckligt med tomma celler under din funktion då denna kommer lägga ut alla unika tecken i varsin cell.

För att därefter översätta dina bokstäver till siffror så är det smidigast att skapa en översättningstabell, där kolumn1 har olika tecken, och kolumn2 har dina siffor. Då kan du därefter göra en Xletaupp mot cellen där du skrev första formeln och referera till spillområdet. Skrev du exempelvis formeln i cell B2 så kan formeln se ut enligt nedan:

=xletaupp(B2#;översättningstabell[kolumn1];översättningstabell[kolumn2])

resultatet av översättningen behöver även denna en spillyta. Som om du skrev den i C2 kan skrivas:

=summa(c2#)

Det går såklart även att baka ihop allt till en megaformel, men tycker att lösningen kanske inte behöver kompliceras ytterliggare.

Sist men inte minst, lycka till! :)

Mvh

Christian

 

 

 

Nytt inlägg
 2023-02-24 12:06
 
anonymous skrev:

Svårt att förstå frågan. Kan du ge lite bättre exempel? 

Står det bara ett tecken per cell? Eller kan det stå en text med flera tecken i en cell?

 

Om det bara står ett tecken i varje cell så kan du köra 

=ANTAL.OM(A1:A100;"A")*2+ANTAL.OM(A1:A100;{"B")*3    OSV

Eller fuska och skriv in matriser

=ANTAL.OM(A1:A100;{"A";"B";"C";"D"})*{2;3;4;5}

och summera

=SUMMA(ANTAL.OM(A1:A100;{"A";"B";"C";"D"})*{2;3;4;5})

eller så här om du vill ha A-Z  med vikten 2-27

=SUMMA(ANTAL.OM(A1:A100;TECKENKOD(SEKVENS(26;;65)))*SEKVENS(26;;2))

 

Eller använd Växla(). Då sitter "paren" sitter ihop och det borde vara enklare att bygga ut och felsöka

=SUMMA(OMFEL(VÄXLA(A1:A100;"a";2;"b";3;"c";4;"d";5);0))

 

Om du vill leta i texter, typ två A  i "ABBA" så får du krångla till det på andra sätt. typ

=SUMMA((LÄNGD(SAMMAN(A1:A100))-LÄNGD(BYT.UT(SAMMAN(A1:A100);{"A";"B";"C";"D"};"")))*{2;3;4;5})

 

Tack för svar! Har dock inte hunnit testa ännu, ska göra det framöver.

 

Denna variant fungerade också


=SUMMA(ANTAL.OM(B1:B6;"a")*1)+(ANTAL.OM(B1:B6;"b")*2)+(ANTAL.OM(B1:B6;"c")*3) i A1 ger:

A B
14 a
b
b
c

 

Kanske inte finaste och mest optimala lösningen :)

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelRäkna tecken, multiplicera och ge värdetRäkna tecken, multiplicera och ge värdet

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter