[[20051211192334]] 『並び替えても値が変わらないようにするには』(ゆう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『並び替えても値が変わらないようにするには』(ゆう)
B1セルの値をA1の値で割って、A3の値と掛けB3に表示,A4の値と掛けB4にそれぞれ振り分けられ、そして並び変えてB1のセルがB5になっても数式が変わらないようにするには・・・

 絶対参照と相対参照を使い分ければできそうな気がします。
 (nak)

 それぞれ
=$B$1/$A$1*$A$3
=$B$3*$A$4
とすれば数式は変わりませんが、どのようなデータをどの列を基準に並べ替え
るのか具体的なご提示がないと、この数式では不十分のような気がします。
 
例えば並べ替えの結果、3行目が2行目に、1行目が4行目になった場合でも数式は
=$B$1/$A$1*$A$3のままですから、この計算式は無意味です。
複数行一組となった数式を含むリストに対する並べ替えは計算の位置関係が崩
れないような工夫が必要になります。(みやほりん)

ありがとうございます。
1個の品物を、他の行の同じ品物に必要な数だけ振り分けたいのです
例えば 
 ボルト合計10本を2行目の同じボルトに2本 4行目の同じボルトに8本振り分けたいのです。

 連番		員数	合計
1  ボルト		10	100
2   ボルト		2	20
3	
4  ボルト		8	80		
5  
6			
 で、連番で並び替えても2行目5行目の合計が変わらないようにしたい。
その複数行一組となった数式を含むリストに対する並べ替えは計算の位置関係が崩
れないような工夫とはどのようにしたらいいのでしょう。

 うーん、上記の表は並べ替え前、と理解してよいのでしょうか。
並べ替えによって移動する行を計算の基準にしていくと計算式が破綻します。
 
おそらく、100/10というのが計算の基準(員数1あたりのボルト数量)と推測します。
別のシートに計算基準となる部分を退避させてください。
この表がSheet1、退避先のシートをSheet2とします。
Sheet2のC1へ 10 Sheet2のD1へ 100 B1へ =D1/C1
 
	A	B	C	D
1	連番		員数	合計数
2	1	ボルト	10	100
3	2	ボルト	2	20
4	3			
5	4	ボルト	8	80
6	5			
7	6			
 
Sheet1が上記のような配置である場合には、
C2 =Sheet2!C1  直接数値入力でもよい
D2 =Sheet2!D1      〃
D3 =C3*Sheet2!B1
D5 =C5*Sheet2!B1
などと、別のシートの特定のセルを参照するようにすれば、並べ替えをしても
同じ行のC列のセルと別のシートの特定セルを計算するので、計算関係は崩れ
ません。つまり、マスターを作ればよいのです。
 
以下は、こんなことをしたいのではないか、という想像。
ボルトだけではない場合を考えてみました。
Sheet2を次のように設定します。単位数のセルはD列/C列の計算式です。
	A	B	C	D
1		単位数	員数	合計数
2	ボルト	10	10	100
3	ナット	4	7	28
Sheet2のA2:B3を範囲選択して メニューの挿入>名前>作成 とし、
「左端列」にチェックして「OK」とします。
	A	B	C	D
1	連番		員数	合計数
2	1	ボルト	10	100
3	2	ボルト	2	=D3*INDIRECT(C3)
4	3	ナット	7	28
5	4	ボルト	8	
6	5	ナット	3	
7	6	ナット	4	
 
2行目、4行目はボルト、ナットの総数です。
(とりあえず振り分け先の員数に員数総数とに矛盾がないとして)
合計数のD3であれば、上記のような数式を入力、D列の振り分け先のセルへコピー。
ボルトやナットでいちいち参照先の違う数式を作成しなくてもよくなります。
(みやほりん)(-_∂)b

返信遅くなりました。ありがとうございます!やってみます。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.