(これはマクロ駆動型のダイナミックレンジ、リサイズ事へのアプローチではかなり異なっているので、私は別の答えを使用しています...)
ダイナミックヒストグラムチャートがあることを思い出しによって構築することができます「名前付き範囲」は実際にはの式と名前が付けられているため、値が動的である場合もあります。
まず、行Aから列1に任意の値を設定し、ヒストグラムに必要なビンの数を含む別のセルがあることを前提にして説明します。私のワークブックではE2になります。だから我々は、(「数式」タブの)名前マネージャを起動し、私はので、(私たちは、後に定義します)ビンの数ではなく、ビンサイズを定義するために行ってきた
num_bins =Sheet1!$E$2
を作成します後者はビン境界を設定する方法を正確に知ることが難しくなります。最初と最後のビンが値の範囲の異なる部分をカバーできるという考えに満足していますか?例えば
data_count =COUNT(Sheet1!$A:$A)
data_vals =OFFSET(Sheet1!$A$1,0,0,data_count,1)
max_val =MAX(data_vals)
min_val =MIN(data_vals)
定義されているものを使用すると、空想を得る。各ビンはどれくらいの大きさでなければなりません別の命名式ください:
bin_size =(max_val-min_val)/(num_bins)
をそしてここで科学が来る:これらの式は、動的配列を作る:
bin_array =min_val+ROW(OFFSET(Sheet1!$A$1,0,0,num_bins-1,1))*bin_size
bin_labels =min_val+ROW(OFFSET(Sheet1!$A$1,0,0,num_bins,1))*bin_size
data_vals =FREQUENCY(data_vals,bin_array)
最初のものはトリッキーです:それはnum_bins minus one
-size範囲の行番号を使用していますbin_size
の倍数を生成します。配列min_val
は、FREQUENCY()
関数が各ビン値まで項目数をカウントするため、配列を開始しません。関数は1つ大きい配列を生成するので、必要なビンの数よりも1つ小さいです。最後のエントリは、の上にの最高ビン番号を持ちます。そこで、プレゼンテーション用に別のbin_labels
配列を作成します。
ここでグラフを作成できます。 2-D縦棒グラフを挿入して(「リボンから」またはチャートを右クリックして)「データ選択」ダイアログを開きます。シリーズの値を=Sheet1!freq_array
に設定して新しいシリーズを追加します。これを機能させるには、シート名またはブック名を含める必要があります。必要に応じてシリーズ名を追加し、「OK」をクリックします。 「横(カテゴリ)軸ラベル」の「編集」をクリックし、範囲を=Sheet1!bin_labels
に設定します。
はここ=RAND()*5
と5ビン(私は彼らが配列を生成しない値で、名前とその数式を記載)10にnum_binsを変更した後
と同じシートで2000個の細胞です。 (ビンがまったく同じ値にならない場合がありますので、RAND()
式は、再計算)
- (ユーザー定義のビンの大きさを持っている必要がある場合、あなたは
bin_size
シートの参照を作成し、命名式でnum_bins
を計算する必要があります)
これは素晴らしい答えです。ありがとう! :) – l33t
小規模な修正:名前の衝突を避けるために、2番目の 'data_vals'の名前を変更する必要があります。 – l33t