„Excel“ - kaip suderinti visus bendruosius sąrašus?

Problema

Turiu 4 stulpelius. pirmieji du (A & B) stulpeliai yra išleistų patikrinimų sąrašas. tada kiti du (C ir D) stulpeliai yra iš Banko įskaitytų čekių sąrašas. tai atrodo taip:

 A ---------- B ---------- C ---------- D IŠDUODAMAS ---- Kiekis ---- Įkainiai --- - kiekis 001 ------ 112.00 ------ 001 ------ 112.00 002 ------ 200.25 ------ 003 ------ 350.00 003 --- --- 350, 00 ------ 004 ------ 512, 00 004 ------ 512.05 ------ 005 ------ 200.10 005 ------ 200.05 - ---- 007 ------ 821.30 006 ------ 300.25 ------ 009 ------ 100.10 007 ------ 821.30 ------ 010 - ----- 500.00 008 ------ 254.23 009 ------ 100, 00 010 ------ 500.00 

Dabar, ką noriu padaryti, suderinti visus A ir C stulpelių bendrus čekių numerius. Leiskite man žinoti E stulpelyje, jei suma yra tokia pati. tai atrodys taip:

 ---------- B ---------- C ---------- D ---------- E IŠDUODAMAS ---- Kiekis ---- Įgrynintas ---- suma ----- Reikšmė 001 ------ 112.00 ------ 001 ------ 112.00 ----- TRUE 002 - ---- 200.25 003 ------ 350.00 ------ 003 ------ 350.00 ----- TRUE 004 ------ 512.05 ------ 004 - ---- 512.00 ----- FALSE 005 ------ 200.05 ------ 005 ------ 200.10 ----- FALSE 006 ------ 300.25 007 - ---- 821.30 ------ 007 ------ 821.30 ----- TRUE 008 ------ 254.23 009 ------ 100.00 ------ 009 - ---- 100.80 ----- FALSE 010 ------ 500.00 ------ 010 ------ 500.00 ----- TRUE 

Sprendimas

Prielaidos

  • 1. Maksimalios duomenų eilutės yra A stulpelyje
  • 2. Makro vykdymo metu aktyvus lapas yra lapas su duomenimis

 „Sub AlignAndAccount“ () „Dim lMaxRows As Long Dim“ lRowBeanCounter Kaip ilgos stulpeliai („A: B“). Pasirinkite Selection.Sort _ Key1: = intervalas („A2“), 1 tvarka: = xlAscending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientation: = xlTopToBottom, _ DataOption1: = xlSortNormal stulpeliai ("C: D"). Pasirinkite Selection.Sort _ Key1: = Range ("C2"), 1 tvarka: = xlAscending, _ Header: = xlYes, OrderCustom: = 1, _ MatchCase: = False, Orientation: = xlTopToBottom, _ DataOption1: = xlSortNormal lMaxRows = Ląstelės (eilutės.Skaičiuoti, "A"). Pabaiga (xlUp). ) = "Reikšmė" lRowBeanCounter = 2 Norėdami lMaxRows Pasirinkite atvejo elementus (lRowBeanCounter, "A") Byla = = ląstelės (lRowBeanCounter, "C") Jei (ląstelės (lRowBeanCounter, "B") = ląstelės (lRowBeanCounter, "D" )) Tada langeliai (lRowBeanCounter, "E") = "TRUE" Else Cells (lRowBeanCounter, "E") = "FALSE" Pabaiga Jei Byla yra <Cells (lRowBeanCounter, "C") diapazonas ("C" ir "LB" : D "& lRowBeanCounter) .Pasirinkite Selection.Insert Shift: = xlDown 'ląstelės (lRowBeanCounter, " E ") =" FALSE "Byla Else Range (" A "ir" LB " "& lRowBeanCounter) .Pasirinkite Selection.Insert Shift: = xlDown lMaxRows = lMaxRows + 1 pabaiga Pasirinkite Next lRowBeanCounter End Sub 

Pastaba

Ačiū rizvisa1 už šį patarimą forume.

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai