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

Ինչպե՞ս vlookup- ը Excel- ում մեկ խցում բազմաթիվ արժեքներ վերադարձնելու համար:

Սովորաբար, Excel- ում, երբ օգտագործում եք VLOOKUP գործառույթը, եթե չափանիշներին համապատասխանող բազմաթիվ արժեքներ կան, պարզապես կարող եք ստանալ առաջինը: Բայց երբեմն ուզում եք բոլոր համապատասխան արժեքները, որոնք համապատասխանում են չափանիշներին, մեկ բջիջ վերադարձնել, ինչպես ցույց է տրված հետևյալ նկարը, ինչպե՞ս կարող եք լուծել այն:

Vlookup- ը TEXTJOIN գործառույթով մի քանի բջիջներ վերադարձնելու համար մի քանի արժեքներ (Excel 2019 և Office 365)

Vlookup ՝ օգտագործողի կողմից սահմանված գործառույթով բազմաթիվ արժեքներ մեկ բջիջ վերադառնալու համար

Vlookup ՝ մի քանի բջիջներ օգտակար հատկությամբ մեկ բջիջ վերադարձնելու համար


Vlookup- ը TEXTJOIN գործառույթով մի քանի բջիջներ վերադարձնելու համար մի քանի արժեքներ (Excel 2019 և Office 365)

Եթե ​​ունեք Excel- ի ավելի բարձր տարբերակ, ինչպիսիք են Excel 2019-ը և Office 365-ը, կա նոր գործառույթ. ՄԻԱԵԼ, այս հզոր գործառույթի միջոցով դուք կարող եք արագորեն դիտել և վերադարձնել բոլոր համապատասխան արժեքները մեկ բջիջում:

Vlookup ՝ բոլոր համապատասխան արժեքները մեկ խցում վերադարձնելու համար

Ստորև բերված բանաձևը կիրառեք դատարկ վանդակի մեջ, որտեղ ցանկանում եք տեղադրել արդյունքը, այնուհետև սեղմել Ctrl + Shift + Մուտք ստեղները միասին `առաջին արդյունքը ստանալու համար, այնուհետև լրացնելու բռնիչը ներքև քաշեք դեպի այն բջիջը, որը ցանկանում եք օգտագործել այս բանաձևը, և ​​դուք կստանաք բոլոր համապատասխան արժեքները, ինչպես ցույց է տրված ստորև նշված էկրանի նկարը.

=TEXTJOIN(",",TRUE,IF($A$2:$A$11=E2,$C$2:$C$11,""))

Նշում: Վերոնշյալ բանաձևում A2: A11 որոնման տիրույթն է, որը պարունակում է որոնման տվյալները, E2 որոնման արժեքն է, C2: C11 տվյալների տիրույթն է, որից ուզում եք վերադարձնել համապատասխան արժեքները ",,"բաժանարարն է` մի քանի գրառումներն առանձնացնելու համար:

Vlookup ՝ առանց կրկնօրինակների բոլոր համապատասխան արժեքները վերադարձնելու մեկ բջիջ

Եթե ​​ցանկանում եք վերադարձնել որոնման տվյալների հիման վրա բոլոր համապատասխանող արժեքները առանց կրկնօրինակների, ստորև ներկայացված բանաձևը կարող է օգնել ձեզ:

Խնդրում ենք պատճենել և տեղադրել հետեւյալ բանաձևը դատարկ բջիջում, այնուհետև սեղմել Ctrl + Shift + Մուտք ստեղները միասին `առաջին արդյունքը ստանալու համար, ապա պատճենեք այս բանաձևը` այլ բջիջներ լրացնելու համար, և դուք կստանաք բոլոր համապատասխան արժեքները առանց կեղծիքի, ինչպես ցույց է տրված ստորև նշված նկարը.

=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH($C$2:$C$11, IF(E2=$A$2:$A$11, $C$2:$C$11, ""), 0),"")=MATCH(ROW($C$2:$C$11), ROW($C$2:$C$11)), $C$2:$C$11, ""))

Նշում: Վերոնշյալ բանաձևում A2: A11 որոնման տիրույթն է, որը պարունակում է որոնման տվյալները, E2 որոնման արժեքն է, C2: C11 տվյալների տիրույթն է, որից ուզում եք վերադարձնել համապատասխան արժեքները ",,"բաժանարարն է` մի քանի գրառումներն առանձնացնելու համար:

Vlookup ՝ օգտագործողի կողմից սահմանված գործառույթով բազմաթիվ արժեքներ մեկ բջիջ վերադառնալու համար

Վերոնշյալ TEXTJOIN գործառույթը հասանելի է միայն Excel 2019-ի և Office 365-ի համար, եթե Excel- ի այլ ցածր տարբերակներ ունեք, այս խնդիրն ավարտելու համար պետք է օգտագործել որոշ կոդեր:

Vlookup ՝ բոլոր համապատասխան արժեքները մեկ խցում վերադարձնելու համար

1, Պահեք պահեք ALT + F11 ստեղները, և այն բացում է Microsoft Visual Basic հավելվածների համար պատուհան.

2: Սեղմեք Տեղադրել > Մոդուլներ, և տեղադրեք հետևյալ կոդը Մոդուլի պատուհան.

VBA կոդ. Vlookup ՝ մի քանի բջիջներ բազմաթիվ արժեքներ վերադարձնելու համար

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If
For i = 1 To CriteriaRange.Count
    If CriteriaRange.Cells(i).Value = Condition Then
        xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
    End If
Next i
If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

3, Դրանից հետո պահեք և փակեք այս կոդը, վերադարձեք աշխատանքային թերթ և մուտքագրեք այս բանաձևը. =CONCATENATEIF($A$2:$A$11, E2, $C$2:$C$11, ", ") որոշակի դատարկ վանդակի մեջ, որտեղ ցանկանում եք տեղադրել արդյունքը, այնուհետև քաշել լրացման բռնակը ներքև ՝ ստանալու համար անհրաժեշտ բոլոր համապատասխան արժեքները մեկ խցում, տես նկարի նկարը.

Նշում: Վերոնշյալ բանաձևում A2: A11 որոնման տիրույթն է, որը պարունակում է որոնման տվյալները, E2 որոնման արժեքն է, C2: C11 տվյալների տիրույթն է, որից ուզում եք վերադարձնել համապատասխան արժեքները ",,"բաժանարարն է` մի քանի գրառումներն առանձնացնելու համար:

Vlookup ՝ առանց կրկնօրինակների բոլոր համապատասխան արժեքները վերադարձնելու մեկ բջիջ

Վերադարձված համապատասխանող արժեքների կրկնօրինակներն անտեսելու համար խնդրում ենք վարվել ստորև ներկայացված կոդի հետ:

1, Պահեք պահեք Alt + F11 բացել ստեղները Microsoft Visual Basic հավելվածների համար պատուհան.

2: Սեղմեք Տեղադրել > Մոդուլներ, և տեղադրեք հետևյալ կոդը Մոդուլի պատուհան.

VBA կոդ. Vlookup և մի քանի համապատասխան եզակի արժեքներ վերադարձնել մեկ բջիջ

Function MultipleLookupNoRept(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer)
'Updateby Extendoffice
    Dim xDic As New Dictionary
    Dim xRows As Long
    Dim xStr As String
    Dim i As Long
    On Error Resume Next
    xRows = LookupRange.Rows.Count
    For i = 1 To xRows
        If LookupRange.Columns(1).Cells(i).Value = Lookupvalue Then
            xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value, ""
        End If
    Next
    xStr = ""
    MultipleLookupNoRept = xStr
    If xDic.Count > 0 Then
        For i = 0 To xDic.Count - 1
            xStr = xStr & xDic.Keys(i) & ","
        Next
        MultipleLookupNoRept = Left(xStr, Len(xStr) - 1)
    End If
End Function

3, Կոդը տեղադրելուց հետո կտտացրեք Գործիքներ > Սայլակ բացվածում Microsoft Visual Basic հավելվածների համար պատուհանից, այնուհետև դուրս եկավ դուրս Հղումներ - VBAP նախագիծ երկխոսության տուփ, ստուգեք Microsoft Scripting Runtime տարբերակը Հասանելի հղումներ ցուցակի տուփը, տե՛ս սքրինշոթերը.

4. Այնուհետեւ կտտացրեք OK երկխոսության տուփը փակելու, կոդի պատուհանը պահելու և փակելու համար, վերադառնալ աշխատանքային թերթ և մուտքագրել այս բանաձևը. =MultipleLookupNoRept(E2,$A$2:$C$11,3) into a blank cell where you want to output the result, and then drag the fill hanlde down to get all matching values, see screenshot:

Նշում: Վերոնշյալ բանաձևում A2: C11 տվյալների տիրույթն է, որը ցանկանում եք օգտագործել, E2 որոնման արժեքն է, համարը 3 վերադարձված արժեքները պարունակող սյունակի համարն է:

Vlookup ՝ մի քանի բջիջներ օգտակար հատկությամբ մեկ բջիջ վերադարձնելու համար

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

Նշում:Սա կիրառելու համար Ընդլայնված կոմբինատ տողեր, նախ, դուք պետք է ներբեռնեք այն Excel- ի համար նախատեսված գործիքներ, ապա գործառույթը կիրառեք արագ և հեշտությամբ:

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

1, Ընտրեք տվյալների տիրույթը, որը ցանկանում եք համատեղել մեկ սյունակի տվյալներ `հիմնվելով մեկ այլ սյունակի վրա:

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

3, Դուրս ցցված Ընդլայնված կոմբինատ տողեր երկխոսության տուփ:

  • Կտտացրեք ստեղնաշարի սյունակի անունը, որը պետք է համակցված լինի, և այնուհետև կտտացրեք Առաջնային բանալին
  • Դրանից հետո կտտացրեք մեկ այլ սյունակի վրա, որը ցանկանում եք համատեղել դրա տվյալները ՝ հիմնվելով ստեղնային սյունակի վրա, և կտտացրեք Միավորել ընտրել մեկ տարանջատիչ `համակցված տվյալներն առանձնացնելու համար:

4. Այնուհետեւ կտտացրեք OK կոճակը, և դուք կստանաք հետևյալ արդյունքները.

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


Ավելի հարաբերական հոդվածներ.

  • VLOOKUP գործառույթ ՝ մի քանի հիմնական և առաջադեմ օրինակներով
  • Excel- ում VLOOKUP գործառույթը Excel- ի օգտվողների մեծ մասի համար հզոր գործառույթ է, որն օգտագործվում է տվյալների տիրույթի ձախ մասում արժեք որոնելու և նույն շարքում համապատասխանեցված արժեք վերադարձնելու համար `ձեր նշած սյունակից: Այս ձեռնարկը խոսում է այն մասին, թե ինչպես օգտագործել VLOOKUP գործառույթը Excel- ի մի քանի հիմնական և առաջադեմ օրինակներով:
  • Vlookup և վերադարձնել մի քանի արժեքներ ուղղահայաց
  • Սովորաբար, առաջին համապատասխան արժեքը ստանալու համար կարող եք օգտագործել Vlookup գործառույթը, բայց, երբեմն, ցանկանում եք վերադարձնել բոլոր համապատասխան գրառումները `ելնելով որոշակի չափանիշի: Այս հոդվածում ես կխոսեմ այն ​​մասին, թե ինչպես vlookup- ը վերադառնալ և վերադարձնել բոլոր համապատասխան արժեքները ուղղահայաց, հորիզոնական կամ մեկ մեկ բջիջում:
  • Vlookup և վերադարձնել մի քանի արժեքներ իջնող ցուցակից
  • Excel- ում ինչպե՞ս կարող եք դիտել և մի քանի համապատասխան արժեքներ վերադարձնել ցուցակից, ինչը նշանակում է, որ բացվող ցուցակից մեկ կետ ընտրելու դեպքում դրա բոլոր հարաբերական արժեքները միանգամից ցուցադրվում են: Այս հոդվածը ես փուլ առ փուլ կներկայացնեմ լուծումը:

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

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 ներքևում
Տեսակավորել մեկնաբանությունները ըստ
մեկնաբանություններ (43)
Դեռևս գնահատականներ չկան: Եղիր առաջինը, ով կգնահատի:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչպե՞ս կարող եմ հարմարեցնել այս բանաձևը, որպեսզի առանձնացնեմ յուրաքանչյուր վերադարձված արժեքը, բայց «, «-ն, ինչպես նաև վերադարձնեմ միայն եզակի արժեքները:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն կոդի համար!!

Ինչ վերաբերում է wildcards-ին, ապա ճանապարհը INSTR-ի օգտագործումն է

Դուք կարող եք փոխարինել [ If rng = pValue Then ]-ը [InStr(1, rng.Value, pValue) Այնուհետեւ]-ով, իսկ եթե չեք ցանկանում, որ այն մեծատառերի զգայուն լինի, ապա օգտագործեք [InStr(1, rng.Value, pValue, vbTextCompare) Այնուհետև]
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն վերը նշված VBA կոդի համար: Կարո՞ղ եք ինձ ասել, թե ինչպես կարող եմ արդյունքները մուտքագրել բջիջի նոր տող, այսինքն՝ Alt-Enter 300 400 1000 1300:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն վերը նշված կոդը կիսելու համար: Ես օգտագործում եմ սա արդեն մի քանի ամիս, բայց այսօր այն կարծես թե չի աշխատում: Ես ստանում եմ դատարկ բջիջներ սովորական սխալի փոխարեն, երբ կան վերադարձվող տվյալներ: Մտքեր կա՞ն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հրաշալի աշխատանք... Ստացա հենց այն, ինչ ուզում եմ!!! Հավանում եմ սա !!
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ողջույն, ես իսկապես տպավորված եմ աշխատանքով, և դա այնքան հեշտ է ստեղծել այս գործառույթն օգտագործելու համար: սակայն ես լրացուցիչ աջակցության կարիք ունեմ: Իմ? դա ինչպես կարող եմ իմ vlookup զանգվածի մի քանի բջիջ ունեցող բջիջից համար ընտրել: այսինքն, եթե բջիջ A1 = 100, A2 = 350, A3 = 69 C1 = 100; 1222 թ. 12133 C2 = 69; 222 D1 = Apple D2 = բանան Այսպիսով, ինչպես կարող եմ ընտրել 100-ը իմ աղյուսակի զանգվածի C սյունակից, որպեսզի ստացվի համապատասխան D1 = խնձոր: Խնդրում ենք նկատի ունենալ, որ ես ունեմ 7 նիշ թվեր իմ որոնման արժեքում և աղյուսակի զանգվածում, որոնք առանձնացված են «;»-ով: Ես իսկապես երախտապարտ կլինեմ, եթե կարողանաք լուծել սա և օգնեք ինձ շատ ժամանակ խնայել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Շնորհակալություն VBA կոդի համար: Ես ստացել եմ հենց այն, ինչ ուզում եմ: Ես փոփոխել եմ միայն «rng.Offset(0, pIndex - 1)» կոդը «rng.Offset(0, pIndex - 2)»: Այսպես և MYVLOOKUP-ը կարող է որոնել աջից ձախ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հենց այն է, ինչ ես փնտրում էի և չէի մտածում պարզապես իմ սեփական UDF-ն ստեղծելու մասին: Այնուամենայնիվ, այն չի գործի այնպես, ինչպես VLOOKUP-ը: Եթե ​​ձեր փնտրած տողը գտնվում է ոչ միայն առաջին սյունակում, ապա այն կարող է ձեզ տվյալներ տալ սկզբնական անցած միջակայքից դուրս: Անուն Համար Այլ անուն Սյունակը տիրույթում չի անցել Ջեյ 1 Ջեյ 1 Ջեյ 2 Ջեյ 2 Քրիս 3 Քրիս 3 Խորխե 4 Խորխե 4 Ջեյ 5 Ջեյ 5 Խորխե 6 Խորխե 6 Եթե վերը նշված աղյուսակը եղել է A1:D7 բջիջ, եթե դուք անցել եք միայն A1:C7 ձեր «MYVLOOKUP» ֆունկցիան վերադարձնում է 1 1 2 2 5 5, երբ դուք ակնկալում եք, որ այն կվերադարձնի 1 2 5: Ստորև կատարված փոփոխությունները շտկում են խնդիրը. MYVLOOKUP ֆունկցիան (pValue As String, pWorkRng As Range, pIndex As Long) 'Update 20150310'p: /6/9 Jay Coltrain 'Dim rng As Range Dim xResult As String xResult = "" Dim Rows As Long, i As Long Rows = pWorkRng.Rows.Count For i = 16 To Ros If pWorkRng.Cells(i, 1): Արժեք = pValue Այնուհետեւ xResult = xResult & " " & pWorkRng.Cells(i, 1).Offset(1, pIndex - 0) End If Next i 'For Every rng In pWorkRng ' If rng = pValue Այնուհետեւ ' xResult = xResult & " " & rng.Offset(1, pIndex - 0) ' End If 'Next MYVLOOKUP = xResult End Function
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հիանալի է աշխատում, բայց ես օգնության կարիք ունեմ արդյունքներից կրկնօրինակները հեռացնելու հրամանի հետ: Այնուամենայնիվ, լուրջ, հիանալի աշխատանք:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հիանալի է աշխատում, բայց ես դեռ օգնության կարիք ունեմ հրամանի ֆունկցիայի հետ՝ արդյունքներից կրկնօրինակները հեռացնելու համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Տեղեկացրեք ինձ հետագա մեկնաբանությունների մասին
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ոչինչ չվերադարձրե՛ք։ MYLOOKUP-ը կիրառելուց հետո ոչ մի արդյունք չի տալիս, այլ դատարկ:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Բարև, լավ է աշխատում: Այն, ինչ ես կցանկանայի անել, այն է, որ կոդը հարմարեցնեմ ձեր արժեքի արդյունքները «///» կամ որևէ այլ նշիչով առանձնացնելու համար (տեխնիկական պատճառներով ես չեմ ուզում միայն մեկ նիշ բաժանող): Բացի այդ, ես նկատեցի, որ այս բանաձևը չի աշխատում wild card-ի հետ: Ես գիտեմ, որ չափազանց շատ եմ խնդրում, բայց դա չի, քանի որ vlookup-ը կարող է աշխատել, երբ որոնում եմ =myvlookup("*"&E6&"*",$A$2:$C$15,2), որը դա կանի/կարող է անել: Որևէ օգնություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Գլուխը վեր. Ես հասկացա, թե ինչպես կարելի է ստանալ որևէ տարանջատիչ այդ ելքի մեջ: Դրա տարրական է: Բայց ես դա պարզեցի: xResult = xResult & "///" & rng.Offset(0, pIndex - 1) Այնուամենայնիվ, ամենավերջին և ամենացանկալի բանը թույլ է տալիս, որ այն աշխատի wildcards-ով որոնման չափանիշներում: Կրկին շնորհակալություն այս գեղեցիկ և փայլուն լուծման համար։ Չափազանց օգտակար: Հիմա պարզապես ուզում եմ մակրո գործարկել և մշտապես տեղադրել իմ excel-ում, անկախ նրանից, թե ինչ եմ անում, որպեսզի կարողանամ օգտագործել այն, երբ դա անհրաժեշտ լինի: Եվ վիթքարտեր։ Շատ շնորհակալություն. Վայրի նշաններն այն ամենն են, ինչ մնում է անել:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Եզակի ռեկորդ ստանալու համար կարող եք օգտագործել ստորև. (փոփոխվել է այլ օգտվողի կոդով) MYVLOOKUP ֆունկցիան (pValue As String, pWorkRng As Range, pIndex As Long) «Update 20150310 «Update 6/9/16 Jay Coltrain «Dim rng As Range» Dim xResult As String xResult = "" Dim տողեր այնքան երկար, i այնքան երկար տող = pWorkRng.Rows.Count For i = 1 To տող Եթե pWorkRng.Cells(i, 1).Value = pValue Այնուհետեւ xResult = xResult & "," & pWorkRng.Cells(i, 1).Offset(0, pIndex - 1) End If Next i Dim varSection As Variant Dim sTemp As String Dim sDelimiter As String sDelimiter = "," Յուրաքանչյուր varSection In Split(xResult, sDelimiter) InStr(1, sDelimiter & sTemp & sDelimiter, sDelimiter & varSection & sDelimiter, vbTextCompare) = 0 Այնուհետև sTemp = sTemp & sDelimiter & varSection End If Next varSection MYVLOOKUPemp = Midnns)
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա հիանալի աշխատեց, բայց ինձ որոշ ժամանակ պահանջվեց, որպեսզի Ֆունկցիան ճիշտ աշխատի իմ 20 ներդիրում, 50k+ տող աղյուսակում: Այժմ ՄԵԾ հարցն այն է, թե ինչպես վերցնել այդ սահմանազատված տողը և այնուհետև օգտագործել յուրաքանչյուր գրառում որպես ինդեքս/համընկնում (ոչ թե ինդեքս/համընկնում է, բայց ավելի արագ է թվում) որոնման արժեք մեկ այլ տվյալների բազայում՝ վերադարձնելով բոլոր վերադարձվածների SUM արժեքը մեկ բջիջում: . Իմ սցենարն այն է, որ ես ունեմ մեկ պատվեր, որն ունի բազմաթիվ հաշիվ-ապրանքագրեր: Ձեր MYVLOOKUP ֆունկցիան հիանալի է աշխատում մեկ բջջի բոլոր հաշիվ-ապրանքագրերը հետ հաղորդելու համար: Այն, ինչ ես ուզում եմ անել հիմա, այն է, որ յուրաքանչյուր համակցված վերադարձը վերցնեմ հաղորդված բջիջի հետ, պտտեմ այդ զանգվածի միջով և գումարեմ յուրաքանչյուր ապրանքագրի վճարման գումարները բանաձևի բջիջ: Ես գնահատում եմ ցանկացած օգնություն, որը դուք կարող եք առաջարկել այս հարցում և շնորհակալություն MYVLOOKUP գործառույթի համար:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Ինչ էլ որ անեմ, ես միշտ ստանում եմ #արժեք: վերադարձել է արդյունքի փոխարեն։ vlookup-ը լավ է աշխատում, ուստի տվյալները աշխատում են: Արդեն հետևել է մակրոների միացման գործընթացին: Ես նույնիսկ ամեն ինչ միավորեցի մեկ թերթիկի մեջ: Գաղափարներ կան??
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հիանալի մակրո, օգտակար: Բայց պետք է իմանալ, արդյոք այն կարող է փոփոխվել 2 չափորոշիչները ստուգելու համար և արդյոք որևէ մեկը գտնում է, որ ստիպել խելամիտ նշաններն աշխատել դրա վրա: Որևէ օգնություն:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Արդյո՞ք կա արդյունքը փոփոխելու միջոց, որպեսզի 1000 1000 -1000 ցույց տալու փոխարեն ցույց տա, օրինակ, 1,000/1,000/(1,000):
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Հիանալի ֆունկցիան, սակայն 100,000 գրառումների միջով բաժանելը մի քիչ շատ բան է ապացուցում իմ աղքատ նոութբուքի համար, պետք է թույլ տամ, որ այն աշխատի մեկ գիշերում:
Այս մեկնաբանությունը կայքի վարողի կողմից նվազագույնի է հասցվել
Սա զարմանալի է, շնորհակալություն:
Առայժմ ոչ մի մեկնաբանություն չկա
Բեռնել More

Հետեւեք մեզ

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