„Excel“ formulė: nukopijuokite vertę iš kiekvienos n-tos eilutės -

Turinys

Bendroji formulė

=OFFSET($B$5,(ROW(A1)*n)-1,0)

Santrauka

Norėdami kopijuoti vertes arba generuoti nuorodas su šablonu, pvz., Kas 3 eilutė, kas 7 eilutė ir kt., Galite naudoti formulę, pagrįstą funkcijomis OFFSET ir ROW. Parodytame pavyzdyje formulė D5 yra:

=OFFSET($B$5,(ROW(D1)*3)-1,0)

Kuris gali būti nukopijuotas D stulpelyje, kad būtų paimtos n-osios vertės iš B stulpelio.

Paaiškinimas

Programoje „Excel“ negalima lengvai nukopijuoti formulių, kurioms reikia praleisti eilutes ar stulpelius pagal tam tikrą modelį, nes nuorodos formulėje automatiškai pasikeis, atsižvelgiant į pirminio šaltinio langelio ir naujos tikslinės ląstelės santykį. Tačiau atlikus šiek tiek darbo, galima sukurti formulės nuorodas, kurios atitiktų konkrečius modelius.

Šiuo atveju mes naudojame funkciją OFFSET, kuri yra skirta kurti nuorodas į kitas ląsteles ar langelių diapazonus, atsižvelgiant į nurodytą pradinį tašką ar kilmę.

Parodytame pavyzdyje pradinė ląstelė yra B5, pateikiama OFFSET kaip nuorodos argumentas ir fiksuota kaip absoliuti nuoroda, todėl ji nepasikeis kopijuojant formulę:

=OFFSET($B$5

Norėdami apskaičiuoti teisingą eilutės argumento vertę, naudojame antrinę formulę, pagrįstą funkcija ROW:

(ROW(D1)*3)-1

Eilei suteikiama pirmoji ląstelė tame pačiame stulpelyje ir gaunama 1. Šis rezultatas padauginamas iš n, kuris šiame pavyzdyje yra 3, kad gautume 3.

Kai formulė nukopijuojama stulpelyje, eilutės grąžinta vertė padidėja 1, o tai sukuria „n-ąjį modelį“.

Priežastis, dėl kurios kiekvienu atveju atimame 1, yra ta, kad funkcijoje OFFSET nėra etaloninio langelio, kai taikomas argumentas eilutės. Kitaip tariant, kompensavus viena eilute iš A1, gaunamas A2:

=OFFSET(A1,1,0) // returns A2

Atėmus 1 atsižvelgiama į šį elgesį.

Pradedant nuo 1

Jei norite pradėti kopijuoti pirmoje eilutėje, tada vadovaukitės kiekvienu n-uoju modeliu, formulę galite koreguoti taip:

=OFFSET($B$5,(ROW(A1)-1)*n,0)

Įdomios straipsniai...