カテゴリ: Kotlin 更新日: 2026/07/17

Kotlinのsum・average・countで集計する方法

Kotlinのsum・average・countで集計する方法
Kotlinのsum・average・countで集計する方法

先生と生徒の会話形式で理解しよう

生徒

「Kotlinで数字の合計や平均を簡単に求める方法ってありますか?」

先生

「はい、Kotlinにはsum・average・countという集計用の関数があって、1行で計算できますよ。」

生徒

「それぞれどんなときに使うんですか?」

先生

「sumは合計、averageは平均、countは要素の数を数えるときに使います。では順番に見ていきましょう。」

1. sumで合計を求める

1. sumで合計を求める
1. sumで合計を求める

sumはリストや配列に入っている数値の合計を計算します。例えば、テストの点数や売上の合計を出したいときに便利です。


fun main() {
    val scores = listOf(80, 90, 75, 100)
    val total = scores.sum()
    println(total)
}

345

リストに整数(Int)や小数(Double)が入っていれば、自動的に合計してくれます。

2. averageで平均を求める

2. averageで平均を求める
2. averageで平均を求める

averageは要素の平均値を計算します。例えば、クラス全員の平均点を出すときに使えます。


fun main() {
    val scores = listOf(80, 90, 75, 100)
    val avg = scores.average()
    println(avg)
}

86.25

小数点付きで結果が返ってくるため、より正確な計算ができます。

3. countで要素数を数える

3. countで要素数を数える
3. countで要素数を数える

countはコレクションに入っている要素の数を数えます。単純に全要素数を数えるだけでなく、条件を付けて数えることもできます。


fun main() {
    val scores = listOf(80, 90, 75, 100)
    val totalCount = scores.count()
    val highScores = scores.count { it >= 90 }
    println(totalCount)
    println(highScores)
}

4
2

この例では、全体の要素数と90点以上の人数を別々にカウントしています。

4. 条件付きsum・averageの応用

4. 条件付きsum・averageの応用
4. 条件付きsum・averageの応用

実はfilterと組み合わせれば、特定の条件に当てはまる要素だけを集計できます。


fun main() {
    val sales = listOf(1200, 800, 1500, 2000, 500)
    val highSalesTotal = sales.filter { it >= 1000 }.sum()
    val highSalesAvg = sales.filter { it >= 1000 }.average()
    println(highSalesTotal)
    println(highSalesAvg)
}

4700
1566.6666666666667

これで「売上が1000円以上の合計と平均」など、条件付きの集計も簡単にできます。

5. 実用例:家計簿の集計

5. 実用例:家計簿の集計
5. 実用例:家計簿の集計

家計簿アプリを作る場合、月の支出合計や平均支出、支出項目数などを簡単に求められます。


data class Expense(val category: String, val amount: Int)

fun main() {
    val expenses = listOf(
        Expense("食費", 20000),
        Expense("光熱費", 8000),
        Expense("交通費", 5000),
        Expense("食費", 15000)
    )
    val total = expenses.sumOf { it.amount }
    val avg = expenses.map { it.amount }.average()
    val categoryCount = expenses.map { it.category }.distinct().count()

    println(total)
    println(avg)
    println(categoryCount)
}

48000
12000.0
3

このように、sum・average・countを組み合わせると、現実的なデータ集計がとても簡単にできます。

6. sumOfでオブジェクトの数値を合計する

6. sumOfでオブジェクトの数値を合計する
6. sumOfでオブジェクトの数値を合計する

sumは数値だけが入ったリストで利用しますが、オブジェクトのプロパティを合計したい場合はsumOfを使います。実務では商品の価格や社員の給与などを集計する機会が多いため、こちらの方が利用する場面は多いでしょう。


data class Product(val name: String, val price: Int)

fun main() {
    val products = listOf(
        Product("ノート", 300),
        Product("ペン", 150),
        Product("消しゴム", 100)
    )

    val total = products.sumOf { it.price }
    println(total)
}

550

このようにsumOfを使えば、オブジェクトの中にある数値だけを簡単に合計できます。Kotlinでは非常によく使われる集計方法です。

7. average・countを組み合わせて分析する

7. average・countを組み合わせて分析する
7. average・countを組み合わせて分析する

averageやcountは単独でも便利ですが、組み合わせることでデータ分析にも活用できます。例えば、一定以上の点数を取った人数や、その人たちの平均点を求めることも簡単です。


fun main() {
    val scores = listOf(55, 68, 82, 91, 76, 95)

    val passed = scores.filter { it >= 70 }
    println(passed.count())
    println(passed.average())
}

4
86.0

このように一度filterで条件に合うデータを抽出してから集計すると、合格者数や平均売上など、さまざまな分析を少ないコードで実現できます。

8. sum・average・countを使うときの注意点

8. sum・average・countを使うときの注意点
8. sum・average・countを使うときの注意点

sum・average・countは便利な関数ですが、使うときにはいくつか注意点があります。特にaverageは結果がDouble型になるため、小数点以下も含めて扱われます。


fun main() {
    val numbers = listOf(10, 20, 30)

    println(numbers.sum())
    println(numbers.average())
    println(numbers.count())
}

60
20.0
3

また、集計対象がオブジェクトの場合はsumではなくsumOfを利用します。用途に応じて適切な関数を使い分けることで、Kotlinらしいシンプルで読みやすいコードを書くことができます。

まとめ

まとめ
まとめ

Kotlinで数字を集計する場面は、とてもたくさんあります。家計簿の集計、売上の合計、テストの点数の平均、名簿の人数確認など、毎日のように使われる処理です。今回の記事で使ったsumやaverageやcountは、複雑な計算式を書く必要がなく、一行で数値の合計や平均、要素数を求められる便利な関数でした。とくにリストや配列が相手だと、手作業でループを書かずに素早く集計できるので、初心者でも安心して使えます。 合計を求めたいときはsumを使い、平均を知りたいときはaverageが使えました。平均は小数で返ってくるため、小さな差まで正確に表示できます。さらにcountを使えば、単純な数合わせや条件付きの人数カウントも可能でした。条件を使うと「何点以上の人数だけ数える」「何円以上の支出だけを対象にする」といった現場に近い集計方法が簡単に実現できます。 そしてfilterと組み合わせた応用では、「リストの中から条件に当てはまる要素だけを選び、sumやaverageで集計する」という流れがとても自然でした。条件付きの集計は実務の中でもよく必要になるため、この形を知っておくと一段と便利になります。さらに、sumOfやmapと合わせて要素の中の必要な値だけを取り出して集計する例も出てきました。データクラスを扱う場面や複数の項目を持つリストでも、迷わず扱えるようになるはずです。 Kotlinはコレクション操作に強く、日常的な集計作業が驚くほど短いコードで完結します。長いループを書いたり、変数を手動で足し合わせたりする必要がないので、コードの見通しもよく、バグが入りにくいという利点もあります。データが大きくなっても可読性を保ったまま処理できるため、後から読み返したときにも理解しやすい形になります。 ここからは、実際の集計をもう一度振り返るために、ひとつサンプルを追加しておきます。今回は家計簿のような身近なデータを使って、食費だけの合計や平均を出してみます。食費がいくつも入っている場合でも、filterで絞り込み、sumやaverageで素早く数字を出すことができます。


data class Expense(val category: String, val amount: Int)

fun main() {
    val expenses = listOf(
        Expense("食費", 22000),
        Expense("交通費", 6000),
        Expense("食費", 18000),
        Expense("光熱費", 10000),
        Expense("食費", 25000)
    )

    val foodTotal = expenses.filter { it.category == "食費" }.sumOf { it.amount }
    val foodAvg = expenses.filter { it.category == "食費" }.map { it.amount }.average()
    val countAll = expenses.count()
    val countFood = expenses.count { it.category == "食費" }

    println(foodTotal)
    println(foodAvg)
    println(countAll)
    println(countFood)
}

65000
21666.666666666668
5
3

食費の合計や平均、全体の件数や食費だけの件数まで、すべて一行の計算で求められました。数が多いと計算ミスをしやすくなりますが、sumやaverageを使えば間違えにくく、コードも短くなります。何度も同じ処理を繰り返す家計簿や売上管理でも活躍します。 また、distinctを使えば重複するカテゴリー名も整理でき、mapで必要な値だけを取り出し、sumOfで合計まで完了できます。Kotlinのコレクション操作は短く書けるのに読みやすいため、集計が身近で扱いやすい存在になっていきます。 こうしたシンプルな処理でも、実際の開発ではとても大切です。データをまとめる力が身につくと、グラフの作成やレポート機能の追加にも応用しやすくなります。難しい手順を覚える前に、まずは基本のsum・average・countを繰り返し使い、自然と手が動くように練習していくと良いでしょう。 それでは、最後に先生と生徒の会話で振り返ってみます。

先生と生徒の振り返り会話

生徒

「今日の内容を振り返ると、sumとaverageとcountを使うだけで、たくさんの数字をまとめられるって分かりました。」

先生

「その通りです。特にリストの集計は手作業で計算すると間違えやすいので、こういう関数を活用すると安心ですね。」

生徒

「filterで条件をつけてからsumOfやaverageを使うと、特定のデータだけ集計できるのも便利でした。」

先生

「その考え方はとても大切です。実際の開発では条件付きの集計が多いので、今日の書き方はそのまま使えます。」

生徒

「次はグラフの作成にも挑戦できそうです。集計できれば表示もできそうですね。」

先生

「そうですね。データをまとめる力があると、表示や分析にも広がります。ゆっくり進めていきましょう。」

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Kotlinでリストの合計を求めるにはどの関数を使えばいいですか?

Kotlinでリストの数値の合計を求めたいときは、sum関数を使います。IntやDoubleなど数値型のリストに対して合計値を一行で計算できます。

Kotlinでリストの平均を求める方法を教えてください。

Kotlinではaverage関数を使うことで、リスト内の数値の平均を簡単に求められます。結果は小数(Double型)で返され、精度の高い平均値が得られます。

Kotlinでリストの要素数を数えるには何を使えばいいですか?

要素の数を数えるには、count関数を使います。全体の要素数を数えるだけでなく、条件付きで数えることも可能です。
関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

関連記事:
カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinのrunの使い方!スコープ内で処理をまとめるテクニック
New2
Kotlin
Kotlinの文字列を逆順にするreversedの使い方を徹底解説!初心者でもわかる文字列操作入門
New3
Kotlin
KotlinのtoList・toCharArrayの使い方を徹底解説!文字列をリストに変換する方法を初心者向けにやさしく説明
New4
Kotlin
Kotlinの拡張プロパティとは?基本的な作り方と活用例を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#プログラムの基本的な書き方を完全解説!初心者でもわかる文法入門ガイド
No.2
Java&Spring記事人気No2
Swift
Swift入門ガイド|基本構文と書き方をマスターしよう
No.3
Java&Spring記事人気No3
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.4
Java&Spring記事人気No4
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.5
Java&Spring記事人気No5
Kotlin
Kotlinのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.6
Java&Spring記事人気No6
C#
C#の論理演算子の使い方を完全ガイド!&&・||・!を初心者でもわかりやすく解説
No.7
Java&Spring記事人気No7
Kotlin
KotlinでZIPファイルの圧縮と解凍を実装する手順を完全解説!Kotlinファイル操作と入出力I/O入門
No.8
Java&Spring記事人気No8
Swift
Swiftでユーザー向けエラーメッセージ設計を徹底解説!iOSアプリのUI/UXで注意すべきポイント

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク