EDIT: Дякую за тестовий файл. Результати наведені в таблиці нижче. На скріншоті відображаються перші 25 рядків, але фактична таблиця містить усі дані у вашому тестовому файлі.
Графа-помічник ("" Активи ", стовпець Е) - це абсолютна величина різниці між активами компанії, що підлягає оцінці, та всіма іншими компаніями. Cell H6 містить активи тестової компанії, і його можна легко змінити, щоб вказати на будь-яку компанію в списку. У цьому прикладі вказується на B4. Формула в E4 така:
=ABS($E4-$H$6)
І це заповнюється, щоб створити колону помічників. Формула в Н4 така:
=MEDIAN(IF(RANK(E4:E55,E4:E55,1)<22,D4:D55))
Це формула масиву, і її потрібно вводити з CTRL+ Shift+ Enter, а не просто Enter.
Як перевірку, я обчислив медіану P / E вручну в G4, вибравши 21 P / E відповідно до ранжу стовпчика-помічника в колонці F. Результати такі ж, як і за формулою, тому обидва способи ігнорують клітини, де P / E - "NA". Але, якщо ці клітинки порожні, обчислена медіана змінюється, оскільки внутрішній масив містить нуль там, де були NA.
Як це працює: Функція RANK () повертає масив рангів значень стовпчика-помічника у порядку зростання. IF () повертає масив співвідношень 21 P / E, що відповідає компаніям, активи, найближчі до компанії, що оцінюються. (Примітка. Я використав 21, оскільки я припускаю, що компанія, яку оцінюють, є у списку. Якщо ні, то змініть відповідну формулу.) Нарешті, MEDIAN () обчислює посереднє значення масиву 21 значення активів.
Я трохи здивований, виявивши, що RANK () може обробляти два масиви як аргументи, але не обчислені масиви, тобто ABS ($ I $ 4: $ I $ 508- $ I $ nn). Ось чому колона помічників була необхідною. Ще більш химерне - RANK () може обробити ОДНО обчислений масив, але не два. Цього заслуговує "C'mon man ..." точно.
Сподіваюся, що це допомагає і удачі.