Томъёогоор эрэмбэлэх

Хэрэв та жагсаалтыг эрэмбэлэх шаардлагатай бол таны үйлчилгээнд олон арга байдаг бөгөөд тэдгээрийн хамгийн хялбар нь таб эсвэл цэсэн дэх эрэмбэлэх товчлуурууд юм. Өгөгдөл (Өгөгдөл - эрэмбэлэх). Гэсэн хэдий ч жагсаалтыг эрэмбэлэх ажлыг автоматаар, өөрөөр хэлбэл томъёогоор хийх шаардлагатай нөхцөл байдал байдаг. Жишээлбэл, унадаг жагсаалтын өгөгдөл үүсгэх, диаграмын өгөгдлийг тооцоолох гэх мэт шаардлагатай байж болно. Жагсаалтыг томьёотой шууд хэрхэн эрэмбэлэх вэ?

Арга 1. Тоон өгөгдөл

Хэрэв жагсаалтад зөвхөн тоон мэдээлэл байгаа бол функцуудыг ашиглан эрэмбэлэх ажлыг хялбархан хийж болно ҮНЭГҮЙ (ЖИЖИГ) и LINE (МӨРӨӨ):

 

Чиг үүрэг ҮНЭГҮЙ (ЖИЖИГ) массиваас (A багана) эгнээний n-р жижиг элементийг гаргаж авдаг. Тэдгээр. ЖИЖИГ(A:A;1) нь баганын хамгийн бага тоо, ЖИЖИГ(A:A;2) нь хоёр дахь хамгийн жижиг тоо гэх мэт.

Чиг үүрэг LINE (МӨРӨӨ) заасан нүдний мөрийн дугаарыг буцаана, өөрөөр хэлбэл ROW(A1)=1, ROW(A2)=2 гэх мэт. Энэ тохиолдолд үүнийг зүгээр л n=1,2,3... тоонуудын дараалал үүсгэгч болгон ашигладаг. бидний эрэмбэлсэн жагсаалт. Үүнтэй ижил амжилтанд хүрч, нэмэлт багана хийж, 1,2,3 ... тоон дарааллаар гараар бөглөж, ROW функцийн оронд түүн рүү хандах боломжтой болсон.

Арга 2. Текстийн жагсаалт ба ердийн томъёо

Хэрэв жагсаалтад тоо биш, харин текст орсон бол ЖИЖИГ функц ажиллахаа больсон тул та өөр, арай урт замаар явах хэрэгтэй болно.

Эхлээд функцийг ашиглан ирээдүйн эрэмбэлэгдсэн жагсаалтын нэр бүрийн серийн дугаарыг тооцоолох томъёо бүхий үйлчилгээний багана нэмье. COUNTIF (COUNTIF):

Англи хувилбарт дараах байдалтай байна.

=COUNTIF(A:A,»<"&A1)+COUNTIF($A$1:A1,"="&A1)

Эхний нэр томъёо нь одоогийнхоос цөөн тооны эсийн тоог тоолох функц юм. Хоёр дахь нь аливаа нэр нэгээс олон удаа тохиолдсон тохиолдолд хамгаалалтын сүлжээ юм. Дараа нь тэд ижил биш, харин дараалан нэмэгдэх болно.

Одоо хүлээн авсан тоонуудыг өсөх дарааллаар дараалан байрлуулах ёстой. Үүний тулд та функцийг ашиглаж болно ҮНЭГҮЙ (ЖИЖИГ) эхний аргаас:

 

Эцэст нь жагсаалтаас нэрсийг тоогоор нь гаргахад л үлдлээ. Үүнийг хийхийн тулд та дараах томъёог ашиглаж болно.

 

Чиг үүрэг ИЛҮҮ ИЛҮҮ (ТОГЛОЛТ) B баганад хүссэн серийн дугаарыг (1, 2, 3 гэх мэт) хайж, үнэн хэрэгтээ энэ дугаар байрлаж буй мөрийн дугаарыг буцаана. Чиг үүрэг INDEX (INDEX) А баганаас энэ мөрийн дугаарын нэрийг гаргаж авна.

Арга 3: Массивын томъёо

Энэ арга нь үнэн хэрэгтээ Арга-2-той ижил байршуулах алгоритм боловч массивын томъёогоор хэрэгждэг. Томьёог хялбарчлахын тулд C1:C10 нүдний мужид нэр өгсөн Жагсаалт (нүдүүдийг сонгоод, дарна уу Ctrl + F3 програмууд ба товчлуур бий болгох):

 

E1 нүдэнд манай томьёог хуулна уу:

=INDEX(Жагсаалт; ТААРУУЛАХ(ЖИЖИГ(COUNTIF(Жагсаалт; “<"&Жагсаалт; ROW(1:1)); COUNTIF(Жагсаалт; "<"&Жагсаалт; 0))

Эсвэл англи хувилбараар:

=INDEX(Жагсаалт, TATCH(SMALL(COUNTIF(Жагсаалт, «<"&Жагсаалт), ROW(1:1)), COUNTIF(Жагсаалт, "<"&Жагсаалт), 0))

болон түлхэх Ctrl + Shift + Enterмассивын томьёо болгон оруулах. Дараа нь үүссэн томьёог жагсаалтын бүх уртын дагуу хуулж болно.

Хэрэв та томьёог тогтсон муж биш, харин жагсаалтад шинэ элемент нэмэх үед тохируулах боломжтой байхыг хүсч байвал стратегийг бага зэрэг өөрчлөх шаардлагатай болно.

Нэгдүгээрт, Жагсаалтын мужийг динамикаар тохируулах шаардлагатай. Үүнийг хийхийн тулд үүсгэхдээ C3:C10 тогтмол муж биш, харин тэдгээрийн тооноос үл хамааран бүх боломжит утгуудад хамаарах тусгай томъёог зааж өгөх хэрэгтэй. дарна уу Alt + F3 эсвэл табыг нээнэ үү Томъёо - Нэрийн менежер (Томъёо - Нэрийн менежер), шинэ нэр үүсгэх ба талбарт Холбоос (Лавлагаа) дараах томьёог оруулна уу (би эрэмбэлэх өгөгдлийн хүрээ C1 нүднээс эхэлнэ гэж бодож байна):

=СМЕЩ(C1;0;0;СЧЁТЗ(C1:C1000);1)

=OFFSET(C1,0,0,SCHÖTZ(C1:C1000),1)

Хоёрдугаарт, дээрх массивын томьёог ирээдүйд оруулах нэмэлт өгөгдөлтэй байхын тулд маржингаар сунгах шаардлагатай болно. Энэ тохиолдолд массивын томьёо нь бөглөөгүй байгаа нүднүүдэд # ДУГААР алдаа өгч эхэлнэ. Үүнийг таслан зогсоохын тулд та функцийг ашиглаж болно АЛДАА, үүнийг манай массив томьёоны "ойролцоогоор" нэмэх шаардлагатай:

=АЛДАА(INDEX(Жагсаалт; ТААРУУЛАХ(ЖИЖИГ(COUNTIF(Жагсаалт; “<"&Жагсаалт; ROW(1:1)); COUNTIF(Жагсаалт; "<"&Жагсаалт; 0));»»)

=ХЭРЭГЛЭЭ(NDEX(Жагсаалт, ТААРУУЛАХ(ЖИЖИГ(COUNTIF(Жагсаалт, «<"&Жагсаалт), ROW(1:1)), COUNTIF(Жагсаалт, "<"&Жагсаалт), 0));"")

Энэ нь #ДУГААР алдааг олж, оронд нь хүчингүй (хоосон ишлэл) гаргана.

:

  • Хүрээг өнгөөр ​​ялгах
  • Массив томьёо гэж юу вэ, яагаад хэрэгтэй вэ
  • Шинэ Office 365 дээр эрэмбэлэх, динамик массивуудыг эрэмбэлэх

 

хариу үлдээх