クイックナビゲーション
BYCOL 関数
概要
BYCOL 関数は、指定された配列の各列に対して LAMBDA 関数を適用し、結果を単一の列として返す動的配列関数です。列ごとの集計や変換を一度に実行でき、従来の複数数式を1つに簡略化します。
構文
BYCOL(array, lambda(column))
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| array | 配列 |
はい | 列ごとに処理する対象配列。複数行×複数列の範囲を指定 |
| lambda | LAMBDA |
はい | column(列配列)を1つのパラメーターとして受け取り、1つの値を返す LAMBDA 関数 |
BYCOL関数の使用
BYCOL は配列の各列に対して同じ LAMBDA 処理を適用し、結果を縦長の配列として返します。列ごとの合計、平均、最大値、独自計算などを一度の数式で実現。従来は各列ごとに別数式が必要でしたが、BYCOL で1つに集約できます。
BYCOLの一般的な例
各列の最大値を求める
=BYCOL(A1:C10, LAMBDA(col, MAX(col)))
A~C列の各列最大値を縦に表示。3つの最大値が1列に展開されます。
各列の二乗和を計算
=BYCOL(A1:C10, LAMBDA(col, SUMSQ(col)))
各列の値を二乗して合計。統計計算や距離計算に便利です。
各列の平均値をパーセント表示
=BYCOL(A1:C10, LAMBDA(col, AVERAGE(col)&"%"))
平均値を文字列結合でパーセント表示。結果はテキストになります。
よくある質問
BYCOL は列ごと(縦方向)に処理、BYROW は行ごと(横方向)に処理します。
各列に対して単一の値のみ返却してください。複数値は #CALC! エラーになります。
部分的には可能ですが、複数列同時処理は困難。BYCOL が最も効率的です。
一般的なエラーと解決策
#VALUE! エラー
Cause: LAMBDA のパラメーター数が不正
Solution: LAMBDA(column) の形式を確認し、1パラメーターにしてください
#CALC! エラー
Cause: LAMBDA が配列を返す
Solution: LAMBDA は単一値のみ返却するように修正
#NAME? エラー
Cause: LAMBDA 関数未認識
Solution: Excel 365/2021 で使用してください
注記
- Excel 365、Excel 2021 専用関数です
- LAMBDA 関数の column パラメーターは完全な列配列を受け取ります
- 結果は常に1列の縦長配列になります
- 他の動的配列関数(MAP、SCAN)と併用可能
互換性
利用可能: Excel 365, Excel 2021
利用不可: Excel 2019 以前, Excel 2016 以前
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365, Excel 2021