Pokud vás zajímá, jak někdo může najít každou n -tu položku ve sloupci. V tomto článku se naučíme, jak vrátit každou n-tu položku ze seznamu. K nalezení výsledku použijeme kód VBA.
Otázka: Chci kód makra extrahovat každou n -tu hodnotu ze sloupce. Snažím se vytáhnout hodnoty z jednoho listu / sloupce do jiného listu / sloupce. Zkoušel jsem použít mnoho funkcí, jako je OFFSET, ale nebyl jsem schopen zjistit vzorec, který může poskytnout výsledek.
Vezměme si příklad 100 hodnot ve sloupci A & chceme zjistit každých 10th hodnota ve sloupci B
Hodnoty vzorku počínaje od buňky A1 rovnající se 1 do buňky A100 rovnající se 100; Následuje snímek dat ve sloupci A:
Abychom získali výsledek, musíme ke spuštění VB editoru provést následující kroky
- Klikněte na kartu Vývojář
- Ze skupiny kódů vyberte Visual Basic
- Zkopírujte níže uvedený kód do standardního modulu
Funkce INDEXN (InputRange As Range, N As Integer) As Variant 'returns every N-th item from InputRange' --- Comment 'select the desired target range for the function and' --- Comment 'enter as an array function with Ctrl +Shift+Enter. ' --- Komentář Dim ItemList () jako varianta, c jako rozsah, i jako dlouhý, iCount jako dlouhý i = 0 iCount = 0 ReDim ItemList (1 To InputRange.Cells.Count \ N) Pro každý c In InputRange i = i + 1 If i Mod N = 0 Then iCount = iCount + 1 On Error Resume Next ItemList (iCount) = c.Value On Error GoTo 0 End If Next c INDEXN = ItemList If InputRange.Rows.Count> = InputRange.Columns.Count Then INDEXN = Application.WorksheetFunction.Transpose (INDEXN) End If Erase ItemList End Funkce
- Pro získání každé n -té položky v rozsahu B1: B10 je vzorec
- {= INDEXN ($ A $ 1: $ A $ 100, 10)}
Poznámka: toto je maticový vzorec; klávesy Ctrl + Shift + End je tedy nutné stisknout společně
- Chcete -li získat každých 7th hodnota z rozsahu A1: A100; změníme poslední argument z 10 na 7 a vzorec bude
- {= INDEXN ($ A $ 1: $ A $ 100, 7)}
Tímto způsobem můžeme vrátit každou n-tu položku z jednoho listu na hlavní list.
- Vzorec v jiném listu bude obsahovat odkaz na list
- {= INDEXN (List1! $ A $ 1: $ A $ 100, 10)}
Závěr: S pomocí výše uvedené funkce definované uživatelem můžeme mít flexibilitu při hledání každé n-té položky z jednoho listu na druhý.
Pokud se vám naše blogy líbily, sdílejte je se svými přáteli na Facebooku. A také nás můžete sledovat na Twitteru a Facebooku. Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit, doplnit nebo inovovat naši práci a zlepšit ji pro vás. Napište nám na e -mail