web-dev-qa-db-ja.com

フィルタを考慮して、列の中央値をどのように把握しますか?

最近、SUBTOTALをさまざまな関数に使用して、フィルターが適用されている場合でも、列の合計を合計または検索できることを発見しました。

ただし、SUBTOTALの関数のリストにはMEDIANは含まれていません。

一部の行が除外されていることを考慮して、数値の列の中央値を見つけることは可能ですか?

11
Diskdrive

以下のlori_mからコメントをピックアップするように更新されました

1。元の回答-すべてのxlバージョン
提供: このソリューションのAladin Akyurek データがA1:A10にある場合、配列はこの式に shiftctrl -を入力します。 入力=MEDIAN(IF(SUBTOTAL(3,OFFSET(A1:A10,ROW(A1:A10)-MIN(ROW(A1:A10)),,1)),A1:A10))

2。更新された回答(非配列)-すべてのxlバージョン=MEDIAN(IF(SUBTOTAL(3,OFFSET(A1:A10,MMULT(ROW(A1:A10),1)-MIN(MMULT(ROW(A1:A10),1)),,1)),A1:A10))

3。 Excel2010およびExcel2013
=AGGREGATE(12,5,A1:A10)

16
brettdj

確かに、SUBTOTALにはMEDIANは含まれていませんが、最初にSUBTOTALを使用し、次にExcel式の一部を代入をいくつか使用して取得できます。 MEDIANが必要な列/セル。

Excelの小計関数でAVERAGEを使用したとすると、数式はたとえば= SUBTOTAL(1; E10:E12)になります。ここで、出現するすべての"SUBTOTAL(1;" with "MEDIAN("(引用符なし)。

0
Guppy