0

あなたがこれを手伝ってくれることを願っています:

ワークシート "TOTALS" と範囲 "M11:N251" には、ユーザーによって挿入された "from:to" 期間があります ("From" は "M11:M" にあり、"To" は "N11:N" にあります)。行数 (および挿入される期間) は異なる場合があります。期間は 4 か月 (4 か月) ですが、常に 120 日とは限りません (119 日、122 日、または 100 日未満の場合、ユーザーは分割できません)。範囲 "W11:W251" は金額をホストします。したがって、たとえば、「M11:N11」は 1/1/13-1/5/13 (dd/mm/yy) で、W11 は単なる数字 (つまり 98,45) になります。

各期間をほぼ2で分割し(最初の部分は60日、2番目の部分は残りの日数)、それに応じて(分割された期間の日数に応じて)金額を分割し、分割された期間と金額をたとえば、「A11:B251」と「G11:G251」の範囲の新しいワークシート (TOTALS2)。

したがって、上記の例では、「TOTALS2」では、「A11:B11」に 1/1/13-1/3/13、「A12:B12」に 1/3/13-1/5/13 が含まれます。 、および「G11」と「G12」の「A11:B11」と「A12:B12」のカウントされた日数に応じて分割された金額。

TOTALS に分割して TOTALS2 に転送する期間と金額がなくなるまで、同様に繰り返します。

これはどのように行うことができますか?アイデア?

前もって感謝します!

ファイルをチェックアウトする場合は、ダウンロードします。

http://www.sendspace.com/file/5kudcy

4

1 に答える 1

0

TOTALS の値が行 10 (記載されている 11 ではなく) から始まるリンクで指定したファイルに基づいて、価格は列 S (記載されている W ではなく) にあり、TOTALS2 の値は行 10 に表示されます。それ以降 (前述の 11 行目以降ではなく)、次のアプローチが機能します。

ワークシート TOTALS に 5 列を追加します。これらの 5 つの列には、行 9 にヘッダーがあり、行 10、11、12 などに数式があります。列 X、Y、Z、および AA を使用すると、X9:AB9 のヘッダー値は次のようになります。

Period, Int.To, Int.From, Proportion1, Proportion2

Int.は中間の略です。)

セル X10 から AB10 で使用する数式は次のとおりです。

X10:=N10-M10+1 日付 M10 から日付 N10 までの日数を計算します。

Y10:=M10+59日付 M10 から始まる 60 日間の終了日を計算します (つまり、最初の「半期」の最後の日付を計算します)。

Z10: =1+Y10Y10 の日付の翌日を計算します (2 番目の「半期」の開始日)。

AA10: 上半期=60/X10が全期間に占める割合

AB10:=1-AA10全期間に占める下半期の割合

X10:AB10 の数式は、ワークシート TOTALS のデータを含む行と同じ数の行にコピーして、次のようなものを取得できます...

TOTALS ワークシート

TOTALS の追加の列は、各クアドリメスターを 2 つの「半分」に分割するために必要な情報を提供します。列 M、N、Y、および Z は日付情報を提供し、S、AA、および AB は各四半期の費用を分割するための値を提供します。TOTALS2 で必要に応じて表示するには、TOTALS2 にいくつかの列を追加する必要もあります。L9 と M9 の次のヘッダーで列 L と M を使用しました。

Source, Part

L10 と L11 の両方に値 1 を挿入し、M10 と M11 にそれぞれ値 1 と 2 を挿入します。次の式を L12 と M12 に追加します。

L12:=1+L10

M12:=M10

L12 と M12 の数式をコピーして、L 列と M 列に、前半と後半の期間に分割する行数 (TOTALS) の少なくとも 2 倍の値が含まれるようにします。1,1,2,2,3,3,4,4 etc列 L と1,2,1,2,1,2,1,2 etcMのシーケンスで終了する必要があります。

ソース列 (L) は、TOTALS のどのデータ行 (1 = 1 番目、2 = 2 番目、3 = 3 番目など) が「半分」に分割される値のソースとして機能するかを示し、Part 列 (M) はどのデータ行を示すかを示します。 「半分」です (1=1 回目、2=2 回目)。

あとは、TOTALS2 の列 A、B、G で適切な数式を使用してすべてをまとめるだけです。A10、B10、および M10 に挿入する数式は次のとおりです。

A10:=OFFSET(IF(M10=1,TOTALS!M$9,TOTALS!Z$9),L10,0)

B10:=OFFSET(IF(M10=1,TOTALS!Y$9,TOTALS!N$9),L10,0)

G10:=OFFSET(TOTALS!S$9,L10,0)*OFFSET(TOTALS!Z$9,TOTALS2!L10,M10)

これらの数式を TOTALS2 の行にコピーすると、次のようになります...

TOTALS2 ワークシート

列 A の式は、部分の値が 1 か 2 かに応じて、TOTALS の正しいソース行から列 M または列 Z のいずれかを使用して、「半」期間の開始日を選択します。同様に、列 B の式は、 TOTALS 列の Y 列と N 列を使用して終了日を指定します。G の数式は、コスト値 (TOTALS の列 S) に、TOTALS の列 AA または列 AB からの正しい比率を乗算します。

次のような改良は含めていません。

  • TOTALS で短すぎる (または長すぎる) 期間が分割されないようにする (ヒント: ワークシート TOTALS の [長さ] 列を使用してこれを検出できます) または

  • または

  • 2 つの「半分」の計算されたコストを小数点以下 2 桁に丸め、それらが元の 4 か月のコストに加算されることを確認します (ワークシートで書式設定されているため、小数点以下 2 桁のみが表示され、表示されることは保証されません)。値は元のソース コストに正確に加算されます - 選択された例はたまたまこのプロパティを持っているだけです. 解決するのはそれほど難しくありません.)

ただし、上記は構築可能な基本的なソリューションです。

于 2013-11-09T23:13:58.460 に答える