Ինչպե՞ս տեղափոխել բջիջները մեկ սյունակում `հիմնվելով մեկ այլ սյունակի եզակի արժեքների վրա:
Ենթադրելով, որ դուք ունեք մի շարք տվյալներ, որոնք պարունակում են երկու սյունակ, այժմ դուք ցանկանում եք բջիջները տեղափոխել մեկ սյունակում հորիզոնական շարքեր `հիմնվելով մեկ այլ սյունակի եզակի արժեքների վրա` հետևյալ արդյունքը ստանալու համար: Ունեք լավ գաղափարներ Excel- ում այս խնդիրը լուծելու համար:
Տեղափոխեք բջիջները մեկ սյունակում ՝ հիմնվելով բանաձևերով եզակի արժեքների վրա
Տեղափոխեք բջիջները մեկ սյունակում ՝ հիմնվելով եզակի արժեքների վրա VBA կոդով
Փոխադրել բջիջները մեկ սյունակում՝ հիմնված եզակի արժեքների վրա Kutools for Excel
Տեղափոխեք բջիջները մեկ սյունակում ՝ հիմնվելով բանաձևերով եզակի արժեքների վրա
Հետևյալ զանգվածի բանաձևերով դուք կարող եք արդյունահանել եզակի արժեքները և դրանց համապատասխան տվյալները տեղափոխել հորիզոնական շարքեր, կատարեք հետևյալը.
1, Մուտքագրեք զանգվածի այս բանաձևը. = ԻՆԴԵՔՍ ($ A $ 2: $ A $ 16, ՀԱՇԻՎ (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16 $), 0)) օրինակ, դատարկ բջիջի մեջ, օրինակ, D2 և սեղմել Shift + Ctrl + Enter ստեղները միասին ՝ ճիշտ արդյունք ստանալու համար, տես նկարի նկարը.
ՆշումՎերոհիշյալ բանաձևում A2: A16 այն սյունն է, որից ուզում եք ցուցադրել եզակի արժեքները, և D1 այս բանաձևի բջջի վերևում գտնվող բջիջն է:
2, Դրանից հետո քաշեք լրացման բռնակը դեպի բջիջները ՝ բոլոր եզակի արժեքները հանելու համար, տե՛ս նկարը.
3, Եվ ապա շարունակեք մուտքագրել այս բանաձեւը E2 բջիջ: =IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0), և հիշեք, որ սեղմեք Shift + Ctrl + Enter արդյունք ստանալու համար ստեղները տե՛ս նկարը.
ՆշումՎերը նշված բանաձևում. B2: B16 սյունակի տվյալներն են, որոնք ցանկանում եք տեղափոխել, A2: A16 այն սյունն է, որի վրա ցանկանում եք տեղափոխել դրա վրա հիմնված արժեքները, և D2 պարունակում է եզակի արժեք, որը դուք արդյունահանել եք Քայլ 1-ում:
4. Դրանից հետո քաշեք լրացման բռնիչը աջից այն բջիջներից, որոնք ցանկանում եք ցուցադրել տեղափոխված տվյալները մինչև 0-ի ցուցադրումը, տես նկարի նկարը.
5, Եվ հետո շարունակեք լրացնել բռնիչը ներքև քաշել բջիջների տիրույթում `տեղափոխված տվյալները ստանալու համար, ինչպես ցույց է տրված հետևյալ նկարը.
Տեղափոխեք բջիջները մեկ սյունակում ՝ հիմնվելով եզակի արժեքների վրա VBA կոդով
Գուցե բանաձևերը բարդ լինեն ձեր ընկալման համար, այստեղ կարող եք գործարկել հետևյալ VBA կոդը ՝ ձեզ համար անհրաժեշտ ցանկալի արդյունք ստանալու համար:
1, Պահեք պահեք ALT + F11 բացել ստեղները Microsoft Visual Basic հավելվածների համար պատուհան.
2: Սեղմեք Տեղադրել > Մոդուլներ, և տեղադրեք հետևյալ կոդը Մոդուլներ Պատուհանը:
VBA կոդ. Տեղափոխեք բջիջները մեկ սյունակում `հիմնվելով մեկ այլ սյունակի եզակի արժեքների վրա.
Sub transposeunique()
'updateby Extendoffice
Dim xLRow As Long
Dim i As Long
Dim xCrit As String
Dim xCol As New Collection
Dim xRg As Range
Dim xOutRg As Range
Dim xTxt As String
Dim xCount As Long
Dim xVRg As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If (xRg.Columns.Count <> 2) Or _
(xRg.Areas.Count > 1) Then
MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
If xOutRg Is Nothing Then Exit Sub
Set xOutRg = xOutRg.Range(1)
xLRow = xRg.Rows.Count
For i = 2 To xLRow
xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
Next
Application.ScreenUpdating = False
For i = 1 To xCol.Count
xCrit = xCol.Item(i)
xOutRg.Offset(i, 0) = xCrit
xRg.AutoFilter Field:=1, Criteria1:=xCrit
Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
If xVRg.Count > xCount Then xCount = xVRg.Count
xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Next
xOutRg = xRg.Cells(1, 1)
xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
xRg.Rows(1).Copy
xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
xRg.AutoFilter
Application.ScreenUpdating = True
End Sub
3. Այնուհետեւ սեղմեք F5 այս կոդն աշխատեցնելու բանալին, և կհայտնվի հուշման տուփ ՝ հիշեցնելու համար, որ ընտրեք տվյալների տիրույթը, որը ցանկանում եք օգտագործել: Տեսեք,
4. Եվ այնուհետեւ կտտացրեք OK կոճակը, դուրս կգա մեկ այլ արագ տուփ, որը կհիշեցնի ձեզ ընտրել բջիջ արդյունքը դնելու համար, տես նկարի նկարը.
6: Սեղմեք OK կոճակը, և B սյունակի տվյալները տեղափոխվել են A սյունակի եզակի արժեքների հիման վրա, տես նկարի նկարը.
Փոխադրել բջիջները մեկ սյունակում՝ հիմնված եզակի արժեքների վրա Kutools for Excel
Եթե դուք ունեք Kutools for Excel, համատեղելով Ընդլայնված կոմբինատ տողեր և Պառակտված բջիջներ կոմունալ ծառայություններ, դուք կարող եք արագ ավարտել այս առաջադրանքը ՝ առանց որևէ բանաձևի կամ ծածկագրի:
Kutools for Excel : ավելի քան 300 հարմար Excel հավելվածներով, 30 օրվա ընթացքում առանց սահմանափակումների փորձեք անվճար. |
Տեղադրելուց հետո Kutools for Excelխնդրում եմ արեք հետևյալը.
1, Ընտրեք տվյալների տիրույթը, որը ցանկանում եք օգտագործել: (Եթե ցանկանում եք պահպանել բնօրինակ տվյալները, նախ պատճենեք և տեղադրեք տվյալները այլ վայրում):
2. Այնուհետեւ կտտացրեք Կուտոլս > Միաձուլում և պառակտում > Ընդլայնված կոմբինատ տողեր, տես նկարի նկարը.
3, Մեջ Միավորել շարքերը ՝ հիմնվելով սյունակի վրա երկխոսության տուփ, խնդրում ենք կատարել հետևյալ գործողությունները.
(1.) Կտտացրեք սյունակի անունը, որի վրա ցանկանում եք տեղափոխել տվյալների հիման վրա, և ընտրել Առաջնային բանալին;
(2.) Կտտացրեք մեկ այլ սյունակի վրա, որը ցանկանում եք փոխադրել, և կտտացրեք Միավորել ապա ընտրեք մեկ տարանջատիչ ՝ համակցված տվյալներն առանձնացնելու համար, ինչպիսիք են տարածությունը, ստորակետը, ստորակետը:
4. Այնուհետեւ կտտացրեք Ok կոճակը, B սյունակի տվյալները միավորվել են մեկ սյունակում `հիմնվելով A սյունակի վրա, տես նկարի նկարը.
5, Եվ ապա ընտրեք համակցված բջիջները և կտտացրեք Կուտոլս > Միաձուլում և պառակտում > Պառակտված բջիջներ, տես նկարի նկարը.
6, Մեջ Պառակտված բջիջներ երկխոսության տուփ, ընտրեք Բաժանել սյունակների տակ Տիպ տարբերակ, ապա ընտրեք տարանջատիչը, որն առանձնացնում է ձեր համակցված տվյալները, տես նկարի նկարը.
7. Այնուհետեւ կտտացրեք Ok կոճակը և ընտրեք բջիջ ՝ պառակտման արդյունքը դուրս հանված երկխոսության դաշտում տեղադրելու համար, տես նկարի նկարը.
8: Սեղմեք OK, և արդյունքը կստանաք ըստ անհրաժեշտության: Տեսեք,
Ներբեռնեք և անվճար փորձաշրջան Kutools for Excel Հիմա!
Դեմո. Տեղափոխեք բջիջները մեկ սյունակում՝ հիմնված եզակի արժեքների վրա Kutools for Excel
Գրասենյակի արտադրողականության լավագույն գործիքները
Լրացրեք ձեր Excel հմտությունները Kutools for Excel, և փորձիր արդյունավետություն, ինչպես երբեք: Kutools for Excel Առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար: Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...
Office Tab Ներդիրներով ինտերֆեյսը Office է բերում և ձեր աշխատանքը շատ ավելի հեշտացնում
- Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
- Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
- Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:















