Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako štetje / vsota prečrtanih celic v Excelu?

V Excelu vedno oblikujemo črtno kodo za nekatere celice, ki kažejo, da so vrednosti celic neuporabne ali neveljavne, da lahko podatke natančneje analiziramo. V tem članku bom govoril o tem, kako narediti nekaj izračuni v razponu s temi prečrtanimi celicami v Excelu.

V Excelu presnemite celice

Številke brez udarnih celic v Excelu

Vsota izključi prečrtane celice v Excelu


puščica modra desno mehurček V Excelu presnemite celice


Če želite vedeti, koliko celic s formatom prečrtajte v razponu, lahko ustvarite uporabniško določeno funkcijo, storite naslednje:

1. Drži dol ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic za aplikacije.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Okno modula.

VBA koda: štetje prečrtanih celic

Public Function CountStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
    If pRng.Font.Strikethrough Then
        xOut = xOut + 1
    End If
Next
CountStrike = xOut
End Function

3. Nato shranite in zaprite to kodo in se vrnite na delovni list in nato vnesite to formulo = CountStrike (A2: B14) v prazno celico si oglejte sliko zaslona:

doc-count-strike-1

4. Nato pritisnite Vnesite ključ in vse presečne celice so bile upoštevane. Prikaz slike:

doc-count-strike-1


puščica modra desno mehurček Številke brez udarnih celic v Excelu

Toda včasih lahko štejete število samo normalnih celic, ki izključujejo prečrtane celice. Naslednja koda vam lahko pomaga.

1. Drži dol ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic za aplikacije.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Okno modula.

VBA koda: štetje brez prečkanih celic

Public Function CountNoStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
    If Not pRng.Font.Strikethrough Then
        xOut = xOut + 1
    End If
Next
CountNoStrike = xOut
End Function

3. Nato shranite in zaprite to kodo, pojdite nazaj na svoj delovni list in vnesite to formulo = countnostrike (A2: B14) v prazno celico in pritisnite Vnesite ključ, potem boste dobili rezultat, ki ga potrebujete.

doc-count-strike-1

Opombe: V zgornjih formulah, A2: B14 je obseg, s katerim želite uporabiti formule.


puščica modra desno mehurček Vsota izključi prečrtane celice v Excelu

Ker so prečrtane celice neizkoriščene, tukaj želim povzeti le običajne številke brez prečrtanih številk. Za rešitev te naloge potrebujete tudi funkcijo, ki jo določa uporabnik.

1. Drži dol ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic za aplikacije.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Okno modula.

VBA koda: vsota izključi prečrtane celice

Public Function ExcStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
    If Not pRng.Font.Strikethrough Then
        xOut = xOut + pRng.Value
    End If
Next
ExcStrike = xOut
End Function

3. Nato shranite in zaprite to kodo, pojdite nazaj na svoj delovni list in vnesite to formulo = izliv (B2: B14) v prazno celico in pritisnite Vnesite ključ in dobiš vsoto vseh številk brez prečkanih celic. Prikaz slike:

doc-count-strike-1

Opombe: V zgornjih formulah, B2: B14 je obseg, v katerem želite povzemati celice brez prečnega zapisa.


Sorodni članki:

Kako sumirati / štetje krepko število v vrsti celic v Excelu?

Kako izračunati in povzeti celice glede na barvo ozadja v programu Excel?

Kako štetje / vsota celic glede na barve pisave v Excelu?


Priporočena orodja za produktivnost za Excel

zavihek kte 201905

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Matt · 2 years ago
    Hi. Great code for ignoring strikethrough text whilst summing. But, is it possible to filter the data and get a subtotal which still sums without the strike through text? Thanks
  • To post as a guest, your comment is unpublished.
    Ari · 2 years ago
    This seems to round to whole numbers, and does not take into account the decimal places. For example, 1.35 + 1.00 would equal 2 instead of 2.35, but 1.50 + 1 would equal 3 instead of 2.50. How can you fix the code to add accurately?
    • To post as a guest, your comment is unpublished.
      Mark Ayoub · 2 years ago
      [quote name="Ari"]This seems to round to whole numbers, and does not take into account the decimal places. For example, 1.35 + 1.00 would equal 2 instead of 2.35, but 1.50 + 1 would equal 3 instead of 2.50. How can you fix the code to add accurately?[/quote]

      ARI, just change the two words "Long" to "Double" in the formula. Here is the same formula above, with the correct Data Types to allow for values with decimal points:

      [b]
      Public Function ExcStrike(pWorkRng As Range) As Double
      'Update 20161107_IITCSglobal.com
      Application.Volatile
      Dim pRng As Range
      Dim xOut As Double
      xOut = 0
      For Each pRng In pWorkRng
      If Not pRng.Font.Strikethrough Then
      xOut = xOut + pRng.Value
      End If
      Next
      ExcStrike = xOut
      End Function
      [/b]