Երբեմն տվյալների վերլուծության ժամանակ կարող է անհրաժեշտ լինել Excel-ի աշխատանքային թերթիկի պարունակությունը բաժանել մի քանի Excel աշխատանքային գրքերի՝ ըստ որոշակի սյունակի: Այժմ, այս գրառման մեջ մենք ձեզ կսովորեցնենք այն ստանալու 2 արագ եղանակ:
Շատ օգտվողներ հաճախ պետք է բաժանեն Excel- ի աշխատաթերթը, որը պարունակում է տվյալների հսկայական շարքեր մի շարք առանձին Excel աշխատանքային գրքերի վրա `հիմնվելով որոշակի սյունակի վրա: Օրինակ, ահա իմ Excel- ի աշխատանքային թերթիկը: Ես կցանկանայի այս թերթիկի տվյալները բաժանել «Միայնակ լիցենզիայի գինը (ԱՄՆ դոլար)» սյունակի ՝ բազում աշխատանքային գրքերի:

Ընդհանուր առմամբ, դուք հակված եք օգտագործել հետևյալ մեթոդը 1 ՝ տվյալների ձեռքով զտման և պատճենման համար: Բայց բավականին հոգնեցուցիչ և հիմար կլինի, եթե ֆիլտրի շատ տարբերակներ լինեն: Հետեւաբար, այստեղ մենք նաև ցույց ենք տալիս շատ ավելի հարմարավետ եղանակ ՝ մեթոդ 2, որն օգտագործում է VBA: Հիմա կարդացեք դրանք մանրամասն ստանալու համար:
Մեթոդ 1. Պատճենել բովանդակությունը ֆիլտրից հետո Excel- ի առանձին աշխատանքային գրքույկներին
- Սկզբում ընտրեք բջիջը հատուկ սյունակում, ինչպես իմ սեփական օրինակով «Բջիջ B1»:
- Դրանից հետո անցեք «Տվյալներ» ներդիրին և կտտացրեք «terտել» կոճակին:
- Հաջորդը, կտտացրեք սյունակի վերնագրի «ներքևի սլաքը» կոճակին ՝ ֆիլտրի ընտրության ցուցակը ցուցադրելու համար:
- Այժմ ընտրեք «(Ընտրեք բոլորը)» տարբերակը:
- Դրանից հետո դուք կարող եք ընտրել մեկ զտիչի ընտրություն, ինչպիսին է իմ օրինակում «29.95» -ը և կտտացնել «Լավ»:
- Միանգամից կմնան միայն այն տվյալները, որոնց արժեքը B սյունակում «29.95» է:
- Դրանից հետո պատճենեք զտված տվյալները և տեղադրեք դրանք Excel- ի նոր աշխատանքային գրքում:
- Հետագայում օգտագործեք նույն ձևը ՝ բաժանելու մյուս տվյալները ՝ Excel աշխատանքային գրքերն առանձնացնելու համար:
Մեթոդ 2. Խմբաքանակի պառակտված պարունակությունը Excel- ի մի քանի աշխատանքային գրքերում VBA- ի միջոցով
- Առաջին հերթին համոզվեք, որ հատուկ աշխատանքային թերթը բացված է:
- Հաջորդը, գործարկեք VBA խմբագիրը ՝ համաձայն «Ինչպես գործարկել VBA կոդը ձեր Excel- ում".
- Հետո հետևյալ կոդը տեղադրեք «ThisWorkbook» նախագծում:
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn()
Dim objWorksheet As Excel.Worksheet
Dim nLastRow, nRow, nNextRow As Integer
Dim strColumnValue As String
Dim objDictionary As Object
Dim varColumnValues As Variant
Dim varColumnValue As Variant
Dim objExcelWorkbook As Excel.Workbook
Dim objSheet As Excel.Worksheet
Set objWorksheet = ActiveSheet
nLastRow = objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row
Set objDictionary = CreateObject("Scripting.Dictionary")
For nRow = 2 To nLastRow
'Get the specific Column
'Here my instance is "B" column
'You can change it to your case
strColumnValue = objWorksheet.Range("B" & nRow).Value
If objDictionary.Exists(strColumnValue) = False Then
objDictionary.Add strColumnValue, 1
End If
Next
varColumnValues = objDictionary.Keys
For i = LBound(varColumnValues) To UBound(varColumnValues)
varColumnValue = varColumnValues(i)
'Create a new Excel workbook
Set objExcelWorkbook = Excel.Application.Workbooks.Add
Set objSheet = objExcelWorkbook.Sheets(1)
objSheet.Name = objWorksheet.Name
objWorksheet.Rows(1).EntireRow.Copy
objSheet.Activate
objSheet.Range("A1").Select
objSheet.Paste
For nRow = 2 To nLastRow
If CStr(objWorksheet.Range("B" & nRow).Value) = CStr(varColumnValue) Then
'Copy data with the same column "B" value to new workbook
objWorksheet.Rows(nRow).EntireRow.Copy
nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1
objSheet.Range("A" & nNextRow).Select
objSheet.Paste
objSheet.Columns("A:B").AutoFit
End If
Next
Next
End Sub
- Դրանից հետո կտտացրեք «Գործարկել» պատկերակին գործիքագոտում կամ սեղմեք «F5» ստեղնի կոճակը:
- Մակրոյի ավարտից հետո Excel- ի առանձին աշխատանքային գրքերը կստեղծվեն Excel աղբյուրի աղբյուրի պառակտված տվյալների հետ:
- Յուրաքանչյուր աշխատանքային գիրք նման կլինի հետևյալ նկարին.
Համեմատություն
| Առավելությունները | Թերությունները | |
| Մեթոդ 1 | 1. Հեշտ է գործել Excel- ի բոլոր օգտագործողների համար | Անհանգստացնող է, եթե ֆիլտրի ընտրությունը չափազանց շատ է |
| 2. Արագ, եթե ֆիլտրի քիչ ընտրություն կա | ||
| Մեթոդ 2 | Շատ ավելի արդյունավետ, քան մեթոդը 1 ՝ անկախ ֆիլտրի ընտրության քանակից | Մի փոքր դժվար է գործել VBA նորեկների համար |
Կանխել Excel տվյալների կորուստը
Չնայած MS Excel- ը գնալով ավելի ու ավելի առաջադեմ և բարդ է դառնում, այն, այնուամենայնիվ, ժամանակ առ ժամանակ խափանվում է տարբեր գործոնների պատճառով, ինչպիսիք են վնասակար երրորդ կողմի հավելումները կամ մարդկային սխալները և այլն: Քանի որ Excel- ի վթարը կարող է ուղղակիորեն հանգեցնել Excel կոռուպցիա, որպեսզի խուսափեն Excel տվյալների կորստից, դուք պետք է կանոնավոր կերպով կրկնօրինակեք ձեր Excel ֆայլերը: Հակառակ դեպքում, դուք պետք է կիրառեք Excel- ի վերականգնման գործիք, ինչպես, օրինակ DataNumen Excel Repair Excel- ի կոռումպացված ֆայլերը շտկելու համար:
Հեղինակի ներածություն.
Shirley Zhang- ը տվյալների վերականգման փորձագետ է DataNumen, Inc., որը տվյալների վերականգման տեխնոլոգիաների համաշխարհային առաջատարն է, այդ թվում SQL Server նորոգում և հեռանկարների նորոգման ծրագրակազմի արտադրանքները: Լրացուցիչ տեղեկությունների համար այցելեք www.datanumen.com






