Note: The other languages of the website are Google-translated. Back to English

 Ինչպե՞ս տեղափոխել բջիջները մեկ սյունակում `հիմնվելով մեկ այլ սյունակի եզակի արժեքների վրա:

Ենթադրելով, որ դուք ունեք մի շարք տվյալներ, որոնք պարունակում են երկու սյունակ, այժմ դուք ցանկանում եք բջիջները տեղափոխել մեկ սյունակում հորիզոնական շարքեր `հիմնվելով մեկ այլ սյունակի եզակի արժեքների վրա` հետևյալ արդյունքը ստանալու համար: Ունեք լավ գաղափարներ Excel- ում այս խնդիրը լուծելու համար:

doc տեղափոխել եզակի արժեքներ 1

Տեղափոխեք բջիջները մեկ սյունակում ՝ հիմնվելով բանաձևերով եզակի արժեքների վրա

Տեղափոխեք բջիջները մեկ սյունակում ՝ հիմնվելով եզակի արժեքների վրա VBA կոդով

Excel- ի համար Kutools- ի հետ եզակի արժեքների հիման վրա բջիջները տեղափոխեք մեկ սյունակում


Հետևյալ զանգվածի բանաձևերով դուք կարող եք արդյունահանել եզակի արժեքները և դրանց համապատասխան տվյալները տեղափոխել հորիզոնական շարքեր, կատարեք հետևյալը.

1, Մուտքագրեք զանգվածի այս բանաձևը. = ԻՆԴԵՔՍ ($ A $ 2: $ A $ 16, ՀԱՇԻՎ (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16 $), 0)) օրինակ, դատարկ բջիջի մեջ, օրինակ, D2 և սեղմել Shift + Ctrl + Enter ստեղները միասին ՝ ճիշտ արդյունք ստանալու համար, տես նկարի նկարը.

doc տեղափոխել եզակի արժեքներ 2

ՆշումՎերոհիշյալ բանաձևում A2: A16 այն սյունն է, որից ուզում եք ցուցադրել եզակի արժեքները, և D1 այս բանաձևի բջջի վերևում գտնվող բջիջն է:

2, Դրանից հետո քաշեք լրացման բռնակը դեպի բջիջները ՝ բոլոր եզակի արժեքները հանելու համար, տե՛ս նկարը.

doc տեղափոխել եզակի արժեքներ 3

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 արդյունք ստանալու համար ստեղները տե՛ս նկարը.

doc տեղափոխել եզակի արժեքներ 4

ՆշումՎերը նշված բանաձևում. B2: B16 սյունակի տվյալներն են, որոնք ցանկանում եք տեղափոխել, A2: A16 այն սյունն է, որի վրա ցանկանում եք տեղափոխել դրա վրա հիմնված արժեքները, և D2 պարունակում է եզակի արժեք, որը դուք արդյունահանել եք Քայլ 1-ում:

4. Դրանից հետո քաշեք լրացման բռնիչը աջից այն բջիջներից, որոնք ցանկանում եք ցուցադրել տեղափոխված տվյալները մինչև 0-ի ցուցադրումը, տես նկարի նկարը.

doc տեղափոխել եզակի արժեքներ 5

5, Եվ հետո շարունակեք լրացնել բռնիչը ներքև քաշել բջիջների տիրույթում `տեղափոխված տվյալները ստանալու համար, ինչպես ցույց է տրված հետևյալ նկարը.

doc տեղափոխել եզակի արժեքներ 6


Գուցե բանաձևերը բարդ լինեն ձեր ընկալման համար, այստեղ կարող եք գործարկել հետևյալ 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 այս կոդն աշխատեցնելու բանալին, և կհայտնվի հուշման տուփ ՝ հիշեցնելու համար, որ ընտրեք տվյալների տիրույթը, որը ցանկանում եք օգտագործել: Տեսեք,

doc տեղափոխել եզակի արժեքներ 7

4. Եվ այնուհետեւ կտտացրեք OK կոճակը, դուրս կգա մեկ այլ արագ տուփ, որը կհիշեցնի ձեզ ընտրել բջիջ արդյունքը դնելու համար, տես նկարի նկարը.

doc տեղափոխել եզակի արժեքներ 8

6: Սեղմեք OK կոճակը, և B սյունակի տվյալները տեղափոխվել են A սյունակի եզակի արժեքների հիման վրա, տես նկարի նկարը.

doc տեղափոխել եզակի արժեքներ 9


Եթե ​​դուք ունեք Excel- ի համար նախատեսված գործիքներ, համատեղելով Ընդլայնված կոմբինատ տողեր և Պառակտված բջիջներ կոմունալ ծառայություններ, դուք կարող եք արագ ավարտել այս առաջադրանքը ՝ առանց որևէ բանաձևի կամ ծածկագրի:

Excel- ի համար նախատեսված գործիքներ : ավելի քան 300 հարմար Excel հավելվածներով, 30 օրվա ընթացքում առանց սահմանափակումների փորձեք անվճար.

Տեղադրելուց հետո Excel- ի համար նախատեսված գործիքներխնդրում եմ արեք հետևյալը.

1, Ընտրեք տվյալների տիրույթը, որը ցանկանում եք օգտագործել: (Եթե ցանկանում եք պահպանել բնօրինակ տվյալները, նախ պատճենեք և տեղադրեք տվյալները այլ վայրում):

2. Այնուհետեւ կտտացրեք Կուտոլս > Միաձուլում և պառակտում > Ընդլայնված կոմբինատ տողեր, տես նկարի նկարը.

3, Մեջ Միավորել շարքերը ՝ հիմնվելով սյունակի վրա երկխոսության տուփ, խնդրում ենք կատարել հետևյալ գործողությունները.

(1.) Կտտացրեք սյունակի անունը, որի վրա ցանկանում եք տեղափոխել տվյալների հիման վրա, և ընտրել Առաջնային բանալին;

(2.) Կտտացրեք մեկ այլ սյունակի վրա, որը ցանկանում եք փոխադրել, և կտտացրեք Միավորել ապա ընտրեք մեկ տարանջատիչ ՝ համակցված տվյալներն առանձնացնելու համար, ինչպիսիք են տարածությունը, ստորակետը, ստորակետը:

doc տեղափոխել եզակի արժեքներ 11

4. Այնուհետեւ կտտացրեք Ok կոճակը, B սյունակի տվյալները միավորվել են մեկ սյունակում `հիմնվելով A սյունակի վրա, տես նկարի նկարը.

doc տեղափոխել եզակի արժեքներ 12

5, Եվ ապա ընտրեք համակցված բջիջները և կտտացրեք Կուտոլս > Միաձուլում և պառակտում > Պառակտված բջիջներ, տես նկարի նկարը.

6, Մեջ Պառակտված բջիջներ երկխոսության տուփ, ընտրեք Բաժանել սյունակների տակ Տիպ տարբերակ, ապա ընտրեք տարանջատիչը, որն առանձնացնում է ձեր համակցված տվյալները, տես նկարի նկարը.

doc տեղափոխել եզակի արժեքներ 14 14

7. Այնուհետեւ կտտացրեք Ok կոճակը և ընտրեք բջիջ ՝ պառակտման արդյունքը դուրս հանված երկխոսության դաշտում տեղադրելու համար, տես նկարի նկարը.

doc տեղափոխել եզակի արժեքներ 15

8: Սեղմեք OK, և արդյունքը կստանաք ըստ անհրաժեշտության: Տեսեք,

doc տեղափոխել եզակի արժեքներ 16

Ներբեռնեք և անվճար փորձեք Kutools- ը Excel- ի համար:


Excel- ի համար նախատեսված գործիքներ. Excel- ի ավելի քան 300 հարմարավետ հավելումներով, 30 օրվա ընթացքում անվճար փորձեք առանց սահմանափակումների: Ներբեռնեք և անվճար փորձեք հիմա:

Գրասենյակի արտադրողականության լավագույն գործիքները

Excel-ի համար Kutools-ը լուծում է ձեր խնդիրների մեծ մասը և բարձրացնում ձեր արտադրողականությունը 80%-ով

  • Վերաօգտագործել: Արագ տեղադրեք բարդ բանաձևեր, գծապատկերներ և այն ամենը, ինչ դուք նախկինում օգտագործել եք. Ryածկագրել բջիջները գաղտնաբառով; Ստեղծեք փոստային ցուցակ և նամակներ ուղարկել ...
  • Super Formula Bar (հեշտությամբ խմբագրեք տեքստի և բանաձևի բազմաթիվ տողեր); Ընթերցանության դասավորությունը (հեշտությամբ կարդալ և խմբագրել մեծ թվով բջիջներ); Տեղադրել ֆիլտրացված տիրույթում...
  • Միաձուլել բջիջները / տողերը / սյունակները առանց տվյալների կորստի. Պառակտված բջիջների պարունակությունը; Միավորել կրկնօրինակ տողերը / սյունակները... Կանխել կրկնօրինակ բջիջները; Համեմատեք միջակայքերը...
  • Ընտրեք Կրկնօրինակ կամ Եզակի Շարքեր; Ընտրեք դատարկ շարքեր (բոլոր բջիջները դատարկ են); Super Find և Fuzzy Find շատ աշխատանքային գրքույկներում; Պատահական ընտրություն ...
  • Actշգրիտ պատճեն Բազմաթիվ բջիջներ ՝ առանց բանաձևի հղումը փոխելու; Ավտոմատ ստեղծեք հղումներ դեպի մի քանի թերթեր; Տեղադրեք փամփուշտներ, Տուփեր և ավելին ...
  • Քաղվածք տեքստ, Տեքստ ավելացնել, հեռացնել ըստ դիրքի, Հեռացնել տարածությունը; Ստեղծել և տպել էջային ենթագոտիներ; Փոխարկել բջիջների բովանդակության և մեկնաբանությունների միջև...
  • Սուպեր զտիչ (պահպանել և կիրառել ֆիլտրի սխեմաները այլ թերթերի վրա); Ընդլայնված տեսակավորում ըստ ամիս / շաբաթ / օր, հաճախականություն և ավելին; Հատուկ զտիչ համարձակ, շեղատառով ...
  • Միավորել աշխատանքային տետրերը և աշխատանքային թերթերը; Միավորել աղյուսակները ՝ հիմնված հիմնական սյունակների վրա; Տվյալները բաժանեք մի քանի թերթերի; Խմբաքանակի փոխակերպում xls, xlsx և PDF...
  • Ավելի քան 300 հզոր հատկություններ. Աջակցում է Office / Excel 2007-2021 և 365: Աջակցում է բոլոր լեզուներին: Հեշտ տեղակայում ձեր ձեռնարկությունում կամ կազմակերպությունում: Ամբողջական հնարավորություններ 30-օրյա անվճար փորձարկում: 60-օրյա գումարի վերադարձի երաշխիք:
kte էջանիշը 201905

Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
officetab ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (56)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս գնայի հակառակ ուղղությամբ: Մի քանի սյունակից մեկ սյունակի՞ն: Նախապես շնորհակալություն! Թիմ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա ֆանտաստիկ էր: Ես ունեի էքսել՝ մոտ 2000 եզակի արժեքներով A տողում և չէի կարող կառավարել այս վարժությունը առանց ձեր օգնության: Շատ շատ շնորհակալություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Առաջին քայլն ինքնին ձախողվում է =INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) տալիս է Value Not Available սխալ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուղղակի ուզում եմ հակառակն անել։ Ինչպես ես արդեն ունեմ վերջնական արդյունքը, և ես ուզում եմ հասնել առաջին քայլին:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես նույն բանն եմ փնտրում
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հակառակ սցենարի համար լուծում գտա՞ք։ Շնորհակալություն
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուզում եմ անել նաև հակառակը. Ինչ-որ լուծում ունեք, պարոնայք:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև տղերք,
Այս հոդվածի օրինակի հիման վրա հակառակ արդյունք ստանալու համար կարող եք կիրառել հետևյալ VBA ծածկագիրը.

Sub TransposeUnique_2()
Dim xLRow, xLCCount As Long
Dim xRg որպես տիրույթ
Dim xOutRg որպես միջակայք
Dim xObjRRg որպես միջակայք
Dim xTxt որպես տող
Dim xCount As Long
Dim xVRg որպես միջակայք
Ս.թ. սխալի Ռեզյումե Next
xTxt = ActiveWindow.RangeSelection.Address
Սահմանեք xRg = Application.InputBox («խնդրում ենք ընտրել տվյալների տիրույթ.», «Excel-ի համար նախատեսված գործիքներ», xTxt, , , , , 8)
Սահմանել xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
Եթե ​​(xRg.Rows.count < 2) Կամ _
(xRg.Areas.count > 1) Այնուհետև
MsgBox "Անվավեր ընտրություն", , "Kutools for Excel"
Ելք ենթ
Վերջ: Եթե
Սահմանել xOutRg = Application.InputBox («խնդրում ենք ընտրել ելքային տիրույթը (նշել մեկ բջիջ):», «Kutools for Excel», xTxt, , , , , 8)
Եթե ​​xOutRg-ը ոչինչ է, ապա դուրս եկեք Sub
Դիմում. ScreenUpdating = Սուտ է
xLCount = xRg.Columns.count
xLRow-ի համար = 1 Դեպի xRg.Rows.count
Սահմանել xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)
xObjRRg.Copy
xOutRg.Offset(, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = Կեղծ է
Շրջանակ (Cells(xOutRg.Row, xOutRg.Column), Cells(xOutRg.Row + xObjRRg.count - 1, xOutRg.Column)).Value = xRg.Cells(xLRow, 1):Value
Սահմանել xOutRg = xOutRg.Offset(RowOffset:=xObjRRg.count)
հաջորդ
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպես անել փոխադրումը, եթե B սյունակը չունի եզակի արժեքներ, բայց դեռ պետք է այդ արժեքները
KTE 100
KTE 100
Ենթադրելով, որ դրանք երկու տարբեր գործարքներ են
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, Դիդին,

Կարո՞ղ եք ավելի հստակ կամ մանրամասն ներկայացնել ձեր խնդիրը:
Դուք կարող եք տեղադրել ձեր խնդրի օրինակ սքրինշոթ:
Thank you!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Hi այնտեղ,
Խնդրում եմ, կարող եք օգնել ինձ ստորև ներկայացված պահանջով:
Ապրանք ----- պատվիրել
KTE ------ 100KTE ------ 200KTO ------ 300KTO ------ 300
ակնկալվող արդյունքը
Ապրանք ----- պատվիրել ----- պատվիրել ------ պատվիրել
KTE ------ 100 ------ 200
KTO ------ 300 ------ 300







Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինձ նույնպես պետք է նույնը: Ես ուզում եմ ցուցադրել 100 երկու անգամ, եթե կա տվյալների մեջ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կարո՞ղ եք դրա համար բանաձև առաջարկել
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Երբևէ ստացե՞լ եք պատասխան/բանաձև այս մարտահրավերին: Ես ունեմ նույնը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Արդյո՞ք դա հակառակն անելու միջոց կա: Այսինքն՝ տվյալները տարբեր երկարության տողերում և այսպես դասավորե՞լ դրանք երկու սյունակի: Տես կցված.
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ուզում եմ փոխադրել նաև կրկնօրինակ արժեքներ (բոլոր արժեքները՝ եզակի + կրկնօրինակ), և ոչ միայն եզակի արժեքներ: Կարող եք նաև դրա բանաձևը տալ։
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինձ նույնն է պետք
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Երբևէ ստացե՞լ եք պատասխան/բանաձև այս մարտահրավերին: Ես ունեմ նույնը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ստորև բերված բանաձևով.

=IFERROR(INDEX($B$2:$B$45, MATCH(0, COUNTIF($D2:D2,$B$2:$B$45)+IF($A$2:$A$10<>$D2, 1, 0), 0)), 0)

Ինչպե՞ս կարող եմ փոխանցել տվյալները՝ օգտագործելով մոտավոր համընկնումներ: Ասեք, ես ուզում եմ հանել B սյունակից բոլոր այն արժեքները, որոնք համապատասխանում են A սյունակի առաջին 9 նիշերին / թվանշաններին: B սյունակն ունի 11 նիշ, իսկ A-ն ընդամենը 9: շնորհակալություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես պետք է անեմ ճիշտ հակառակը: Ես ունեմ բազմաթիվ բազմաթիվ սյունակներ, որոնք կապված են տողի id-ի հետ և ուզում եմ դրանք տեղադրել երկու սյունակի մեջ
օրինակ ես ունեմ
շարք, արժեք, արժեք1, արժեք2, արժեք3, արժեք4, արժեք..225
100, Դելֆին, 255, 9--, Սառա, Ջեյմսոն, ....
179, Router, flood, jason, 89, nose



Ես ուզում եմ, որ այն այսպիսի տեսք ունենա
100, Դելֆին
100, 255
100, 9--
100, Սառա
100, Ջեյմսոն
179, երթուղիչ
179, ջրհեղեղ
179, jason
179, 89
179, քիթ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, Դեյվ,
Ձեր խնդիրը լուծելու համար խնդրում ենք օգտագործել ստորև նշված VBA կոդը. (Նշում. Երբ ընտրեք տվյալների տիրույթը, որը ցանկանում եք փոխադրել, խնդրում ենք բացառել վերնագրի տողը:)

Sub TransposeUnique_2()
Dim xLRow, xLCCount As Long
Dim xRg որպես տիրույթ
Dim xOutRg որպես միջակայք
Dim xObjRRg որպես միջակայք
Dim xTxt որպես տող
Dim xCount As Long
Dim xVRg որպես միջակայք
Ս.թ. սխալի Ռեզյումե Next
xTxt = ActiveWindow.RangeSelection.Address
Սահմանեք xRg = Application.InputBox («խնդրում ենք ընտրել տվյալների տիրույթ.», «Excel-ի համար նախատեսված գործիքներ», xTxt, , , , , 8)
Սահմանել xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub
Եթե ​​(xRg.Rows.count < 2) Կամ _
(xRg.Areas.count > 1) Այնուհետև
MsgBox "Անվավեր ընտրություն", , "Kutools for Excel"
Ելք ենթ
Վերջ: Եթե
Սահմանել xOutRg = Application.InputBox («խնդրում ենք ընտրել ելքային տիրույթը (նշել մեկ բջիջ):», «Kutools for Excel», xTxt, , , , , 8)
Եթե ​​xOutRg-ը ոչինչ է, ապա դուրս եկեք Sub
Դիմում. ScreenUpdating = Սուտ է
xLCount = xRg.Columns.count
xLRow-ի համար = 1 Դեպի xRg.Rows.count
Սահմանել xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)
xObjRRg.Copy
xOutRg.Offset(, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = Կեղծ է
Շրջանակ (Cells(xOutRg.Row, xOutRg.Column), Cells(xOutRg.Row + xObjRRg.count - 1, xOutRg.Column)).Value = xRg.Cells(xLRow, 1):Value
Սահմանել xOutRg = xOutRg.Offset(RowOffset:=xObjRRg.count)
հաջորդ
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն, այն աշխատում է հիանալի, դուք ինձ խնայեցիք 2 օր: :)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև Սկայանգ,
խնդրում ենք կիսվել 3 սյունակի կոդը: Ստորև բերված է օրինակ.
Ես ուզում եմ այնպիսի տվյալներ, ինչպիսիք են՝ yogesh@gmail.com համայնք 1 դիտում միայն համայնք 2 դիտում միայն ...... goyal@gmail.com համայնք 1 դիտում միայն համայնք 2 դիտում միայն.........

Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, Յոգոյալ,

Ձեր խնդիրը լուծելու համար խնդրում ենք կիրառել հետևյալ կոդը.

Sub TransposeUnique_2()

Dim xLRow, xLCCount As Long

Dim xRg որպես տիրույթ

Dim xOutRg որպես միջակայք

Dim xObjRRg որպես միջակայք

Dim xTxt որպես տող

Dim xCount As Long

Dim xVRg որպես միջակայք

Dim xC, xI, xI1, xI2 Որպես ամբողջ թիվ

Ս.թ. սխալի Ռեզյումե Next

xTxt = ActiveWindow.RangeSelection.Address

Սահմանեք xRg = Application.InputBox («խնդրում ենք ընտրել տվյալների տիրույթ.», «Excel-ի համար նախատեսված գործիքներ», xTxt, , , , , 8)

Սահմանել xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)

Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub

Եթե ​​(xRg.Rows.Count < 2) Կամ _

(xRg.Areas.Count > 1) Այնուհետև

MsgBox "Անվավեր ընտրություն", , "Kutools for Excel"

Ելք ենթ

Վերջ: Եթե

Սահմանել xOutRg = Application.InputBox («խնդրում ենք ընտրել ելքային տիրույթը (նշել մեկ բջիջ):», «Kutools for Excel», xTxt, , , , , 8)

Եթե ​​xOutRg-ը ոչինչ է, ապա դուրս եկեք Sub

Դիմում. ScreenUpdating = Սուտ է

xLCount = xRg.Columns.Count

xLRow-ի համար = 1 Դեպի xRg.Rows.Count

Սահմանել xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)

Ս.թ. սխալի Ռեզյումե Next

xC = (xObjRRg.Count Mod 2)

Եթե ​​xC <> 0 Ապա

xC = Int(xObjRRg.Count / 2) + 1

Ուրիշ

xC = Int(xObjRRg.Count / 2)

Վերջ: Եթե

xI1 = 1

xI2 = 2

xI = 1-ից xC-ի համար

Range(xObjRRg.Item(xI1), xObjRRg.Item(xI2)).Պատճենել

xOutRg.Offset(, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = Կեղծ է

xOutRg.Value = xRg.Cells(xLRow, 1).Value

Սահմանել xOutRg = xOutRg.Offset (RowOffset:=1)

xI1 = xI1 + (2)

xI2 = xI2 + (2)

հաջորդ

հաջորդ

Դիմում. ScreenUpdating = ueիշտ է

Վերջ Sub



Խնդրում եմ փորձեք, հուսով եմ, որ դա կարող է օգնել ձեզ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև եղբայր, կոդը հակառակն է աշխատում: Խնդրում ենք դիտել պահանջի կից էկրանի նկարը: Հասանելի տվյալները տողերի համաձայն են և ցանկանում են տվյալները տեղափոխել սյունակներում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, Յոգոյալ,
Կներեք ուշ պատասխանելու համար, խնդրում ենք կիրառեք հետևյալ կոդը, փորձեք այն:

Sub transposeunique ()

«թարմացնելով Extendoffice

Dim xLRow այնքան երկար

Dim i քանի դեռ

Dim xCrit As String

Dim xCol որպես նոր հավաքածու

Dim xRg որպես տիրույթ

Dim xOutRg որպես միջակայք

Dim xTxt որպես տող

Dim xCount As Long

Dim xVRg որպես միջակայք

Dim xFRg, xSRg, xCRg որպես միջակայք

Ս.թ. սխալի Ռեզյումե Next

xTxt = ActiveWindow.RangeSelection.Address

Սահմանել xRg = Application.InputBox («խնդրում ենք ընտրել տվյալների տիրույթը (ընդամենը 3 սյունակ):», «Kutools for Excel», xTxt, , , , , 8)

Սահմանել xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)

Եթե ​​xRg-ը ոչինչ է, ապա դուրս եկեք Sub

Եթե ​​(xRg.Columns.Count <> 3) Կամ _

(xRg.Areas.Count > 1) Այնուհետև

MsgBox "օգտագործված միջակայքը միայն մեկ տարածք է երկու սյունակով", , "Excel-ի համար նախատեսված Kutools"

Ելք ենթ

Վերջ: Եթե

Սահմանել xOutRg = Application.InputBox («խնդրում ենք ընտրել ելքային տիրույթը (նշել մեկ բջիջ):», «Kutools for Excel», xTxt, , , , , 8)

Եթե ​​xOutRg-ը ոչինչ է, ապա դուրս եկեք Sub

Սահմանել xOutRg = xOutRg.Range(1)

xLRow = xRg.Rows.Count

i = 2-ի համար դեպի xLRow

xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value

հաջորդ

Դիմում. ScreenUpdating = Սուտ է

Դիմում. ScreenUpdating = Սուտ է

i = 1-ի համար դեպի xCol.Count

xCrit = xCol.Item(i)

xOutRg.Offset(i, 0) = xCrit

xRg.AutoFilter Field:=1, Criteria1:=xCrit

Սահմանել xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)

Եթե ​​xVRg.Count > xCount Ապա xCount = xVRg.Count

Սահմանել xSRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)

Սահմանել xCRg = xOutRg.Offset(i, 1)

Յուրաքանչյուր xFRg-ի համար xSRg-ում

xFRg.Copy

xCRg.PasteSpecial

xRg.Range("B1").Պատճենել

xCRg.Offset(-(i), 0).PasteSpecial

xFRg.Offset(0, 1).Պատճենել

Սահմանել xCRg = xCRg. Օֆսեթ (0, 1)

xCRg.PasteSpecial

xRg.Range("c1").Պատճենել

xCRg.Offset(-(i), 0).PasteSpecial

Սահմանել xCRg = xCRg. Օֆսեթ (0, 1)

հաջորդ

Application.CutCopyMode = Կեղծ է

հաջորդ

xRg.Item(1).Պատճենել

xOutRg.PasteSpecial

xRg.AutoFilter

Դիմում. ScreenUpdating = ueիշտ է

Վերջ Sub
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև եղբայր, ես փորձեցի օգտագործել այս կոդը, բայց excel-ը կախվում է, երբ ես գործարկում եմ այս կոդը և չեմ կարող տեսնել վերը նշված կոդից ստացված արդյունքը: խնդրում եմ առաջարկել, թե ինչ անել այս դեպքում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջու՜յն,
Կոդը լավ է աշխատում իմ աշխատանքային գրքում, Excel-ի ո՞ր տարբերակն եք օգտագործում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
MS Excel 2016 թ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Կոդը լավ է աշխատում նաև իմ Excel 2016-ում, խնդրում եմ նախ փորձեք այն փոքր տիրույթի տվյալների հետ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Փորձարկել եմ 160 գրառումների վրա, բայց այդ կրկնօրինակը դեռ կար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Սքայանգ, հավանում եք սա, կա՞ հնարավորություն, որ այն աշխատի չորս սյունակների համար: կրկին պարզապես օգտագործել առաջին երկուսը որպես համեմատություն, կամ ավելի լավ դեռ սյունակների քանակն ընտրելուց առաջ դրանք ընտրելը: Ես նայեցի ձեր սցենարին, չէի պատկերացնի, թե ինչպես հասնել դրան…
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն Սքայանգ, հավանում եք սա, կա՞ հնարավորություն, որ այն աշխատի չորս սյունակների համար: կրկին պարզապես օգտագործել առաջին երկուսը որպես համեմատություն, կամ ավելի լավ դեռ սյունակների քանակն ընտրելուց առաջ դրանք ընտրելը: Ես նայեցի ձեր սցենարին, չէի պատկերացնի, թե ինչպես հասնել դրան…
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Եղբայր, խնդրում եմ, օգնիր այս հարցում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև եղբայր, դեռ սպասում եմ քո օգնությանը
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարեւ Ձեզ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպես Դեյվը, ես պետք է անեմ ճիշտ հակառակը: Աղյուսակ 2՝ աղյուսակ 1-ին փոխադրելու համար: Մուտքագրեք Աղյուսակ 2, Արդյունք Աղյուսակ 1:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
=INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) աշխատել է, որպեսզի սյունակի եզակի արժեքները տեղափոխեմ նոր սյունակ: սյունակ ԲԱՅՑ... կա՞ տարբերակ գովազդելու տեսակավորման ֆունկցիայով, որպեսզի ստեղծված նոր սյունակը փոխադրվի աճման կարգով:


Thanks!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Պետք է ստանալ նույն դրույթը, բայց նախապես սահմանված սյունակները պետք է լինեն ($A,$B) և պետք է ելքային սյունակի դիրքը $D$1-ում:
Եթե ​​որևէ մեկը գաղափար ունի, դա մեծ օգնություն կլինի!!!!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, կարո՞ղ ենք յուրաքանչյուր տող ավելացնել և արդյունքը տալ մեկ սյունակում՝ վերը նշված ֆունկցիոնալությամբ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Այսպիսով, ես աշխատում եմ ընկերությունում: Մենք ունենք սյունակներ այնպիսի տեղեկությունների համար, ինչպիսիք են Ազգանունը, անունը, կոչումը, բաժինը, հեռախոսահամարը, հասցեն: Կա՞ որևէ կերպ, որով ես կարող եմ օգտագործել նմանատիպ բանաձև՝ տեղեկատվության ամբողջ շարքը սյունակում անուններով փոխադրելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
=INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) աշխատել է ինձ համար A սյունակի եզակի արժեքները նոր սյունակի մեջ փոխադրելու համար: սյունակ ԲԱՅՑ... կա՞ միջոց B սյունակի բոլոր արժեքները փոխադրելու համար, ինչպես տրված է ստորև.

Ապրանքի պատվերի ամսաթիվը Ապրանքի պատվերի պատվեր Պատվիրել Պատվիրել Պատվիրել Պատվիրել Պատվիրել Պատվեր
KTE 100 3/3/2019 KTE 100 100 100 200 100 150 100
KTO 150 3/3/2019 KTO 150 100 200 100 150 200
KTE 100 3/4/2019 BOT 150 100 200 150 100 200
KTO 100 3/4/2019 COD 200 150 100 150
KTO 200 3/5/2019
KTE 100 3/5/2019
BOT 150 3/5/2019
BOT 100 3/6/2019
KTO 100 3/6/2019
KTE 200 3/6/2019
BOT 200 3/7/2019
COD 200 3/7/2019
KTE 100 3/7/2019
KTO 150 3/7/2019
BOT 150 3/8/2019
KTE 150 3/8/2019
COD 150 3/8/2019
BOT 100 3/9/2019
BOT 200 3/10/2019
COD 100 3/10/2019
KTO 200 3/10/2019
COD 150 3/11/2019
KTE 100 3/11/2019
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Մակրոն չաշխատեց։ Այն պարզապես պատճենեց բովանդակությունը A1 բջիջում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ունեմ տվյալների հավաքածու A սյունակներում (եզակի ID) - E: Յուրաքանչյուր տող ունի տվյալներ՝ հիմնված ID#-ի վրա, յուրաքանչյուր ID#-ի համար կան մի քանի տողեր, բայց ես ուզում եմ մեկ տող մեկ ID#-ով և սյունակներում մնացած բոլոր տվյալները ( այն կկազմի 5 սյունակ՝ նվազագույնը և 25 առավելագույնը, կախված նրանից, թե յուրաքանչյուր եզակի ID-ն քանիսն ունի): Ես գտա կոդ, բայց այն աշխատում է միայն երկու սյունակի համար: Ես ստիպված էի միացնել չորս սյունակները (ներառյալ ID-ն), ապա սահմանազատել մակրոյի գործարկումից հետո (շատ աշխատանք): 15,000 տող տվյալների համար սա լրացուցիչ ժամանակ է պահանջում: Կա՞ անվերջ սյունակային մակրո, որը կաշխատի: Կանխավ շնորհակալություն բոլորին ձեր օգնության համար:
ID ԿՈԴ ST CODE# ԱՄՍԱԹԻՎ
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ունեմ տվյալների հավաքածու, որն ունի A սյունակում մի քանի ID և միացված տվյալներ սյունակում B: Ես օգտագործեցի վերը նշված բանաձևը և մի փոքր փոփոխեցի այն, որպեսզի B սյունակի բջիջները փոխադրեմ տողի մեջ՝ հիմնված եզակի ID-ի վրա: կապված է դրա հետ A սյունակում: Եզակի ID-ները նույնականացնելու համար օգտագործվող բանաձևն է՝ =INDEX($A$2:$A$13409, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$13409), 0)): Փոխադրումը կատարելու համար օգտագործվող բանաձևն է՝ =IFERROR(INDEX($B$2:$B$13409, MATCH(0, IF($A$2:$A$13409<>$D2, 1, 0)+COUNTIF($D2: D2, $B$2:$B$13409), 0)), «N/A»): Երկուսն էլ տրված են հոդվածում, միայն մի փոքր փոփոխված:

Խնդիրն այն է, որ իմ տվյալների հավաքածուն B սյունակում ունի կրկնօրինակներ, որոնք երբեմն հայտնվում են մեկը մյուսի հետևից, և ինձ անհրաժեշտ է, որ սյունակի բոլոր արժեքները ներկայացվեն տողերում:

Կցված պատկերն այն է, ինչ ես կցանկանայի ցույց տալ աղյուսակը (սա փոքր նմուշի չափ է, իսկական տվյալների բազան ունի ավելի քան 13,000 գրառում): Այն, ինչ հիմա տեղի է ունենում, երբ կրկնվող արժեք է հանդիպում, այն չի հաշվի:
այսինքն ID 9-ի համար 11980-րդ տողն այժմ ցույց է տալիս միայն 0 -31.79 -0.19 -0.74 N/AN/A .... երբ այն, ինչ ինձ անհրաժեշտ է, որպեսզի դրա փոխարեն ցույց տա 0 0 -31.79 -0.19 -0.74 0 0 N/AN/A: ...

Այս խնդրի շուրջ աշխատելու և այն լուծելու միջոց կա՞:

Նախորոք շնորհակալ եմ!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Երբևէ ստացե՞լ եք պատասխան/բանաձև այս մարտահրավերին: Ես ունեմ նույնը:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ես ունեմ տվյալների հավաքածու, որն ունի 3 սյունակ, որը ներկայացված է ստորև.



Սյունակ Ա Սյունակ Բ Սյունակ Գ



Երկիր 1 Տարի1 Արժեք 1

Երկիր 1 Տարի2 Արժեք 2

Երկիր 1 տարի 3 արժեք 3,



Երկիր 2 Տարի1 Արժեք 1

Երկիր 2 տարի 3 արժեք 3,

...........



Ես պետք է միավորեմ այս 3 սյունակները հետևյալ աղյուսակում.

Տարի1 Տարի2 Տարի3 ................................. ՏարիX



Country1 Value1 Value2 Value3

Country2 Value1 #Besting Value3

.....
.....
.....

CountryX Valuex .....................





Խնդիրը, որին ես բախվում եմ, այն է, որ A սյունակի որոշ տվյալների համար ես արժեքներ չունեմ յուրաքանչյուր տարվա համար միայն որոշների համար: (Օրինակ 2-րդ երկիրն ունի բացակայող արժեքներ 2-րդ տարվա համար)





Այս խնդրի շուրջ աշխատելու և այն լուծելու միջոց կա՞:



Նախորոք շնորհակալ եմ!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
կարո՞ղ եք կիսվել կոդը, եթե կա 2 սյունակ, որը պետք է պատճենվի 1-ի փոխարեն: Ստորև ներկայացված է օրինակը:
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More

Հետեւեք մեզ

Հեղինակային իրավունքի © 2009 - www.extendoffice.com. | Բոլոր իրավունքները պաշտպանված են. Powered by ExtendOffice. | | Կայքի քարտեզ
Microsoft- ը և Office- ի պատկերանշանը հանդիսանում են Microsoft Corporation- ի ապրանքային նշաններ կամ գրանցված ապրանքային նշաններ ԱՄՆ-ում և (կամ) այլ երկրներում:
Պաշտպանված է Sectigo SSL- ի կողմից