SKUBIAU: Ankstyvieji vartotojai turėtų patikrinti savo XLOOKUP formules - Naujienos

Įdomus „Office Insider“ naujinimo, kuris pasirodė 2019 m. Lapkričio 1 d., Funkcija XLOOKUP įvyko. Daugelis savininkų gaus šį naujinimą, kai atvyks į darbą 2019 m. Lapkričio 4 d., Pirmadienį.

Jei naudojote naują funkciją „XLOOKUP“ ir jei naudojote „Match_Mode“ argumentą, kad ieškotumėte tik didesnės ar tiesiog mažesnės vertės, esamos „XLOOKUP“ funkcijos suges.

Naujas XLOOKUP pakeitimas: If_Not_Found argumentas, kuris iš pradžių buvo pridėtas kaip neprivalomas šeštasis argumentas, buvo perkeltas į ketvirtąjį argumentą.

Apsvarstykite šią formulę, kurioje anksčiau buvo prašoma kitos didesnės atitikties:

=XLOOKUP(A2,H2:H99,J2:J99,1)

Kai atidarote darbaknygę su tokia formule, formulė iš karto nesutrūksta. Intelektualusis „Excel“ perskaičiavimas neperskaičiuos formulės, kol neredaguosite formulės arba kol neredaguosite vieno iš H2: H99 ar J2: J99 skaičių.

Tačiau, kai redaguosite paieškos lentelę, „Excel“ perskaičiuos visas XLOOKUP funkcijas, kuriomis buvo naudojama lentelė. Prieš pakeitimą prašėte apytikslės atitikties, kuri grąžino kitą didesnę vertę. Po pakeitimo prašote tikslios atitikties (nes jūsų pradinėje formulėje nėra penkto argumento) ir taip pat netyčia nurodote, kad jei tiksli atitiktis nerandama, vietoj to norite įterpti 1.

„Tai iš tikrųjų klastingas žaidimas, kuriant„ kurmį “, - sakė Bill.com Jelenas, „.com“ leidėjas. Paspauskite F2, kad peržiūrėtumėte formulę, ir formulė nustoja veikti. Gali pasirodyti, kad kitos darbalapio formulės ir toliau veikia, tačiau tai yra tiksinti bomba, laukianti, kad suklystų, kai suaktyvinamas perskaičiavimas “.

Norėdami pamatyti pokyčius, žiūrėkite nuo 0:35 iki 0:55 sekundės šiame vaizdo įraše:

Žiūrėti video

Kai užsiregistruojate „Office Insider“ programoje, Sąlygų ir nuostatų 7c punkte sakoma, kad „Mes galime išleisti Paslaugas ar jų funkcijas peržiūros ar beta versijoje, kurios gali neveikti tinkamai arba lygiai taip pat, kaip gali veikti galutinė versija . "

„Excel“ komanda pataria, kad reikia pakoreguoti visas XLOOKUP formules, kuriose buvo naudojami pasirinktiniai argumentai. Jei dažnai naudojate „XLOOKUP“, šis kodas ištirs darbaknygę ir nustatys galimas problemų formules.

Pagrindinė versija

Sekantis kodas ieško formulės langelių, prasidedančių =XLOOKUPdaugiau nei 2 kableliais.

Sub findXLOOKUPs() Dim sht As Worksheet Dim cll As Range Dim foundCells As String Set sht = ActiveSheet For Each cll In sht.UsedRange If cll.HasFormula Then If InStr(cll.Formula, "=XLOOKUP") = 1 Then If UBound(Split(cll.Formula, ","))> 2 Then foundCells = foundCells & vbCrLf & cll.Address End If End If End If Next cll If foundCells = "" Then MsgBox sht.Name & " is not affected with XLOOKUP function structure update.", vbOKOnly + vbInformation, "No errors" Else MsgBox sht.Name & " is likely affected with XLOOKUP function structure update. Please check formulas in the following cells:" & foundCells, vbOKOnly + vbExclamation, "Error(s) found" End If End Sub

„Regex“ versija

Šis kodas naudoja „Regex“, kad rastų kelias XLOOKUP funkcijas, naudojamas toje pačioje formulėje arba naudojamas kartu su kitomis funkcijomis, gali būti papildomų kablelių.

* Norėdami naudoti šį kodą, „Visual Basic“ turite pridėti „Microsoft VBScript“ reguliariųjų reiškinių nuorodą (Įrankiai> Nuorodos VBA).

Sub advancedFindXLOOKUPs() Dim sht As Worksheet Dim cll As Range Dim rgx As RegExp Dim rMatches As Object Dim rMatch As Object Dim foundCells As String Set sht = ActiveSheet Set rgx = New RegExp With rgx .Pattern = "XLOOKUP(((^,))*,)(3,)(^,)*)" .MultiLine = False .IgnoreCase = True .Global = True End With For Each cll In sht.UsedRange If cll.HasFormula Then Set rMatches = rgx.Execute(cll.Formula) If rMatches.Count Then For Each rMatch In rMatches 'Debug.Print rMatch foundCells = foundCells & vbCrLf & cll.Address Next rMatch End If End If Next cll If foundCells = "" Then MsgBox sht.Name & " is not affected with XLOOKUP function structure update.", vbOKOnly + vbInformation, "No errors" Else MsgBox sht.Name & " is likely affected with XLOOKUP function structure update. Please check formulas in the following cells:" & foundCells, vbOKOnly + vbExclamation, "Error(s) found" End If End Sub

Įdomios straipsniai...