私は3つの列を持つExcelテーブルを持っています。列Aは国のリストを持ち、列Bは各国の都市のリストを持ち、列Cはそれらの都市の人口を持っています。 テーブルが構造化されているので、列Aは国の繰り返し名を持つようになります。Excelの最初の5つのインスタンスの合計
最初の集団を集計したいと思います各国の5つの都市。
私はSUMIF
とCOUNTIF
を使用しようとしましたが、それを行うことはできませんでした。各国の最初の5都市の人口(行C)をどのように集計できますか?
私は3つの列を持つExcelテーブルを持っています。列Aは国のリストを持ち、列Bは各国の都市のリストを持ち、列Cはそれらの都市の人口を持っています。 テーブルが構造化されているので、列Aは国の繰り返し名を持つようになります。Excelの最初の5つのインスタンスの合計
最初の集団を集計したいと思います各国の5つの都市。
私はSUMIF
とCOUNTIF
を使用しようとしましたが、それを行うことはできませんでした。各国の最初の5都市の人口(行C)をどのように集計できますか?
の人口の合計を持っていますそれぞれの国のために今 それを下にドラッグし、リスト内最初 5つの都市や人口の人口を合計しようとしています各国で最も人口の多い上位5都市の(リストを人口別に並べ替えると、これらは同じです)それは後者だ場合は、1行の配列数式
あなたがのためのトップ5集団の合計をしたい国を参照して、「COUNTRYNAME」を置き換える=SUM(LARGE(IF(A:A="CountryName",C:C),{1,2,3,4,5}))
(Ctrl+Shift+Enter after setting up the formula)
でそれを行うことができます。私は、リストに載っている国に5つ以下の都市がある場合、これが問題になるのは唯一の問題だと思います。
ここには、都市が5つ未満でもトップ5にキャップが残っている場合に動作する式のバージョンがあります。1-n値の配列を取得するのはExcelで醜いハックですが、これは作業。
=SUM(LARGE(IF(A:A="CountryName",C:C),ROW(OFFSET(A1,,,MIN(COUNTIF(A:A,"CountryName"),5)))))
(Ctrl+Shift+Enter after setting up the formula)
列Dを追加します。D2に次の式D2 = COUNTIF($ A $ 1:$ A2、$ A2)を書き込んでドラッグします。 これが行うことは、特定の国のインスタンスをランク付けすることです。 これは、Eの値が E2 = SUMIFS($ C $ 2:$ C $ 1000、$ A $ 2:$ A $ 1000、$ A2、$ D $ 2、$ D $ 1000、 = 5" <)とあなたが最初の5つの都市
ありがとうございます!テーブルは人口別に分類されていたので、完璧に動作しました。 – franciscofcosta
5都市未満の国の問題を解決するにはどうすればよいですか? – franciscofcosta
確かに、都市の数を数え、それを5にキャッピングすることで、検索する数値の配列を動的に作成する数式のバージョンを追加しました。Excelで醜いハックの種類がありますが、うまくいくと思います。 – Wedge