メインコンテンツへスキップ

Excelで別のセル値に基づいて範囲を定義するにはどうすればよいですか?

ほとんどのExcelユーザーにとって、値の範囲を計算するのは簡単ですが、特定のセルの数値に基づいて値の範囲を計算しようとしたことがありますか? たとえば、列Aに値の列があり、B2の値に基づいて列Aの値の数を計算したいので、B4の値が2の場合、最初の4つの値を平均します。以下のスクリーンショットのように列A。 ここで、Excelの別のセル値に基づいて範囲をすばやく定義する簡単な数式を紹介します。
docはセル値1で範囲を定義します

セル値に基づいて範囲を定義する


矢印青い右バブル セル値に基づいて範囲を定義する

別のセル値に基づいて範囲の計算を行うには、簡単な数式を使用できます。

結果を出力する空白のセルを選択し、この数式を入力します = AVERAGE(A1:INDIRECT(CONCATENATE( "A"、B2)))、プレス 入力します 結果を得るための鍵。
docはセル値2で範囲を定義します

注:

1.数式で、A1は計算する列の最初のセル、Aは計算する列、B2は計算に基づいて計算するセルです。 これらの参照は、必要に応じて変更できます。

2.要約を行う場合は、この式を使用できます = SUM(A1:INDIRECT(CONCATENATE( "A"、B2))).

3.定義する最初のデータがExcelの最初の行にない場合、たとえばセルA2の場合、次のように数式を使用できます。 = AVERAGE(A2:INDIRECT(CONCATENATE( "A"、ROW(A2)+ B2-1))).
docはセル値2で範囲を定義します


Excelで背景またはフォーマットの色でセルをすばやくカウント/合計

場合によっては、複数の色のセルの範囲があり、同じ色に基づいて値をカウント/合計することが必要な場合、どのようにしてすばやく計算できますか?
Kutools for Excel's 色で数える、色ごとに多くの計算をすばやく実行でき、計算結果のレポートを生成することもできます。  クリックすると、30 日間の全機能を無料で試用できます。
色別のドキュメント数1
 
Kutools for Excel:300を超える便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (21)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
But If I want to sum a column range(say l7:l7800) out of the range d7:ct9000 based on the condition in column a(a7:a9000) and column b(b7:b9000). How will I do it. Please advise
This comment was minimized by the moderator on the site
Is there a way to create a dynamic ranged view, that will isolate all orders from a specific client within a list of clients? I have looked at multiple videos and none actually do what I need it to do. Is there a way to do this or would I need to pull the needed info into a controlled table and use the information from that table?
This comment was minimized by the moderator on the site
Hi, CareTaker. I do not get your question clearly. Could you describe your question or upload a file to show the quetion in details? But I recomend a utility called Data Association for you, maybe can help you, go to this web for details: https://www.extendoffice.com/product/kutools-for-excel/excel-click-cell-to-filter-based-on-another-workbook.html.
This comment was minimized by the moderator on the site
Thank you for the response, its quite the complicated thing to explain but I did manage to come right in the end using the indexing formula with the match formula as well.   =INDEX($B:$B;MATCH($C$2;$B:$B;0);):INDEX($N:$N;MATCH($C$2;$B:$B;0)+$C$3-1;)   at first it was confusing but I'm good now 
This comment was minimized by the moderator on the site
how do I update sum range by using helper cell...For example: if initial sum range is = C1 to M1, how to do change sum range if new data is up to AB1 using a helper cell, instead of changing the formula manually?
This comment was minimized by the moderator on the site
What if the rage is not column, but a row?
This comment was minimized by the moderator on the site
That's a bit trickier as I just found out. You need to use a combination of the CHAR function to convert a number to a letter, CONCAT to piece together a letter and number comprising a cell address, and the INDIRECT function to recognize strings as cell addresses.

In my example, I wrote the following expression:

=SUM(INDIRECT(CONCAT("F",ROW())):INDIRECT(CONCAT(CHAR(64+5+$B$31),ROW())))


where:
Row() is the current row
$B$31 is the cell where the # of columns to count is stored
5 is the offset for the first column to be counted

if you need to go beyond column Z, you’d need a less intuitive variant on that expression using the ADDRESS function:

=SUM(indirect(concat("F",row())):indirect(ADDRESS(row(),$B$31+5,4)))


where:
4 indicates a relative reference
This comment was minimized by the moderator on the site
Hi quick question. My formula =SUMIFS(DATA!$D$5:$D$13914,DATA!$E$5:INDIRECT(CONCATENATE("$E$",C3)),"<"&"1/1/2016") has a range that is from another tab called "DATA." I keep getting #VALUE! errors for this formula. Any suggestions? thanks!
This comment was minimized by the moderator on the site
Earlier I posted: Great formula but why does it only work when referring to the first cell. In other words, if you move the whole range down and the first cell in the range is A5 instead of A1, the formula ceases to work.
After playing with it, I figured out why the formula is not working when the starting row is not row 1. Excel interprets this as the range being A1 thru A4. If you are starting with a different row than row 1, here is how to modify the formula assuming the range now starts with A5:=MAX(A5:INDIRECT(CONCATENATE("A",ROW(A5)+B2)))
This works because the concatenation sees the row reference as fixed in the first example, but it becomes relative in the second example. Hope that helps!
Jared - You can just subtract 4 instead of adding. =MAX(A5:INDIRECT(CONCATENATE("A",ROW(A5)-B2))) [Assuming you have 4 in cell B2, or you could just leave the formula as is and put -4 in cell B2.]
This comment was minimized by the moderator on the site
Hi,cathy, thanks for your supplement, I have test your formula, I think the correct formula may be =MAX(A5:INDIRECT(CONCATENATE("A",ROW(A5)+B2-1))). I have update the tutorual. Thanks again.
This comment was minimized by the moderator on the site
Great formula but why does it only work when referring to the first cell. In other words, if you move the whole range down and the first cell in the range is A6 instead of A1, the formula ceases to work. That seems strange.
This comment was minimized by the moderator on the site
What if I want to count upward from a cell rather than downward? In the above example, the formula starts with A1 and goes downward. Let's say I want a range of 4 cells, beginning with Cell A10 and going to A6. Thank you!
This comment was minimized by the moderator on the site
Jared - See my most recent post for how to solve this.
This comment was minimized by the moderator on the site
I'm having this upward problem also but unable to see your other post for the solution. Can you give me link of the post please? Many thanks!
This comment was minimized by the moderator on the site
Hi, here is a formula may help you to calcualte upward.
=AVERAGE(INDIRECT(CONCATENATE("A",COUNT(A:A)-B1+1)):INDIRECT(CONCATENATE("A",COUNT(A:A))))
A:A is the column that you want to calcualte the average values, B1 is the cell that define the range in column A to calculate.
This comment was minimized by the moderator on the site
Thanks, but may I know why need to use "-B1+1" please?
This comment was minimized by the moderator on the site
Hi, Let me take a detailed example to explain it for you. There are 10 rows in column A, I want to get the last 2 values' average, in other words, average the values in row 9 and row 10. Now B1 contains 2, =COUNT(A:A)-B1+1 will get the result 9, COUNT(A:A) will get the result 10 (the last row of the column A). Now combine other functions to averaget the values in row 9 and row 10. Hope this can help you.
This comment was minimized by the moderator on the site
Can I use this syntax while referring to a different sheet?
This comment was minimized by the moderator on the site
If you want to sum referring to a Different Shet In CONCATENATE formula write [ SHEET NAME+COLUMN+ROW]
Formula=SUM(INDIRECT(CONCATENATE("Sheet1!","D",1)):INDIRECT(CONCATENATE("Sheet1!","D",5)))
This comment was minimized by the moderator on the site
Hi, Thank you so much for your help, but I have a small problem that is I don't have just one column but several ones (about 100 columns) is there a way to change the formula to accommodate the change in columns so O can get the sum for Columns A B C and so on. thanks for your help
This comment was minimized by the moderator on the site
Thank u for your message. If you want to sum first n values across multiple continuous columns, just change A to the last column you ues. EG, sum first 5 values across column A to column D, apply this formula =SUM(A1:INDIRECT(CONCATENATE("D",F2))).
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations