[[20140714162402]] 『1刻みの整数の選択と最終結果の出し方』(TamTam) ページの最後に飛ぶ

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

 

『1刻みの整数の選択と最終結果の出し方』(TamTam)

 A	B	C	D	E	F	G	H	I	J	K	L	M	N	O	P
	基礎		種類		α		1刻みの値	 結果-1		結果-2		結果無効	 最終結果
3	89.5		1000		3.44		4		89.9 						89.9 
4	90.3		1000		4.47		5		90.8 						90.8 
5	91		1000		5.16		6		90.8 						90.8 
6	90.8		1000		6.28		7		91.0 						91.0 
7	91.2		1000		7.61		8		91.9 						91.9 
8	92.6		1000		8.43		9		92.3 		91.8 				92.3 
9	91.6		1000		10.41		10		91.6 						91.8 
10	91.6		1000		11.65		11		91.7 						91.6 
11	91.9		1000		12.82		12		91.9 						91.7 
12	92		1000		13.55		13		92.2 						91.9 
13	92.3		1000		14.45		14		92.6 						92.2 
14	92.9		1000		15.40		15		93.0 		93.1 				92.6 
15	93.1		1000		17.12		16						92.8 		93.0 
16	93.9		1000		17.48		17		94.0 		94.1 				93.1 
17	94.1		1000		19.39		18		94.2 						94.0 
18	94.2		1000		20.46		19								94.1 
19							20								94.2 
20															
21	91.3		1200		0.46		1		91.6 						91.6 
22	92.1		1200		1.76		2		92.3 						92.3 
23	92.8		1200		2.86		3		92.2 						92.2 
24	91.6		1200		3.12		4		92.2 						92.2 
25	92.4		1200		4.33		5		91.6 						91.6 
26	91		1200		5.57		6		91.1 						91.1 
27	91.1		1200		6.13		7		91.7 		92.3 				91.7 
28	92.3		1200		8.01		8						92.3 		92.3 
29	93.9		1200		8.98		9		93.9 						93.9 
30	94.1		1200		9.32		10		94.2 						94.2  
31	94.3		1200		10.52		11		94.4 						94.4 
32	94.4		1200		11.10		12		95.0 						95.0 
33	95.3		1200		12.37		13		95.5 						95.5 
34	95.6		1200		13.16		14		95.7 						95.7 
35	95.9		1200		14.89

お世話になります。

1刻みの整数の選択と上記最終結果の出し方を手早く出来る方法がありましたら、ご教授宜しくお願い致します。

Excel初心者の為、分かりやすく記述して頂けると助かります。

手順
・H列「1刻みの整数を選択」 F列から求める
例えば、H3の4と言う数字は、F3(3.44)とF4(4.47)の間の整数

・J列(結果-1)を求める  計算式(J3)=B3+((B4-B3)/(F4-F3))*(H3-F3)
              計算式(J8)=B8+((B9-B8)/(F9-F8))*(H9-F8)

・L列(結果-2)を求める  計算式(L8)=B8+((B9-B8)/(F9-F8))*(H9-F8)
L列は、F列の2つの値の間に整数が2つある時のみ発生する結果
例えば、L8はF8(8.43)とF9(10.41)の間の整数が9と10がある為、整数9の時の計算は、結果-1に記載し、2つ目の整数10の時の計算は、結果-2に記載

・N列(結果無効)を求める  1刻みの整数がない場合
例えば、N15はF15(17.12)とF16(17.48)の間に整数がないので、結果無効にN15=B15+((B16-B15)/(F16-F15))*(H16-F15)を記載

・P列(最終結果)を求める 結果-1を選択し、結果-2がある時は、結果-1、結果-2、結果-1、結果-1と言うように、結果-1を優先して選択後、結果-2を選択してからまた結果-1に戻り選択して表示する。

D列の種類は13種類あります。
上記の様に次の種類との間に空白があるものもあればないものもあります。

複雑な表示になってるので、非常に分かり辛いとは思いますが、何卒宜しくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 なかなか回答が付かないので、つなぎで前半の関数の導入だけ。

 数値の部分はご自身で書かれているので、条件式の部分だけだと思いますが、
   J3=IF((FLOOR(F4,1)-CEILING(F3,1))>=1, 式 ,"")
   L3=IF((FLOOR(F4,1)-CEILING(F3,1))>=2, 式 ,"")
   N3=IF((FLOOR(F4,1)-CEILING(F3,1))<=0, 式 ,"")
 といった形でできないでしょうか。

 P列に関しては、
 >上記の様に次の種類との間に空白があるものもあればないものもあります。 
 という状態だと、全部を列挙する行数が無い場合はどうするのでしょうか。

 あらかじめ行間をおくという作業は手作業でやったとしても、並べ替えは
 ちょっと難しそうです。

 中途半端ですみませんが、後半は関数のエキスパートさんの回答をお待ちください。
(Mook) 2014/07/14(月) 22:08

Mook様

ご回答有難うございます。

全部を列挙する行数が無い場合は手作業で行を追加しています。
まずは、上記関数を導入してみます。

(TamTam) 2014/07/15(火) 09:29


 回答ではありません <(_ _)>

 本来、質問者が設定した要件に異を唱えるのは無意味なのですけど・・
 でも云いたくなってしまったので、お許しを。

 >・H列「1刻みの整数を選択」 F列から求める 
 >例えば、H3の4と言う数字は、F3(3.44)とF4(4.47)の間の整数 

 1.H列の数値の一般論的な求め方のように述べられていますが、
   実際は、初行だけの話しであって、次行以降は単なる連番ではないですか?

 >・J列(結果-1)を求める  計算式(J3)=B3+((B4-B3)/(F4-F3))*(H3-F3) 
 >              計算式(J8)=B8+((B9-B8)/(F9-F8))*(H9-F8) 
 >・L列(結果-2)を求める  計算式(L8)=B8+((B9-B8)/(F9-F8))*(H9-F8) 

 2.J8で計算式が変わるのはおかしくないですか?(J9からの間違いでは?)

 3.なぜ、最終結果に関係しない結果無効の数値を算出する必要があるのですか?
 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 ・・・とごちゃごちゃ書きましたけど、私としては、要するに、

 「2点のα間の整数値に対応する比例按分値を最終結果として求めるだけでいいのではないか」と思うからです。

 その仮定にしたがって、試みに H列、Q〜T列 だけを使って最終結果を求めてみます。
 ※初心者に分かり易いとは言えない代物ですけど。。。

 (1) H3セル =IF(Q3=ROW(),CEILING(F3,1),IF(FLOOR(INDEX(F:F,Q3+R3-1),1)<=H2,"",H2+1))

 (2) Q3セル =IF(AND(D2<>D3,D3<>""),ROW(),Q2)
 (3) R3セル =IF(Q2<>Q3,COUNTIF(D:D,D3),R2)
 (4) S3セル =IF(H3="","",MATCH(H3,OFFSET(INDEX(F:F,Q3),0,0,R3)))
 (5) T3セル =IF(H3="","",TREND(OFFSET(INDEX(B:B,Q3),S3-1,0,2),OFFSET(INDEX(F:F,Q3),S3-1,0,2),H3))

 それぞれ下にフィルコピー

 <結果図>
  行 ____H____ _I_ ___J___ _K_ ___L___ _M_ ____N____ _O_ ____P____ __Q__ ___R___ ___S___ ____T____
   1   H      I    J     K    L     M     N      O    P     test1 test2   test3   test4    
   2 1刻みの値     結果-1      結果-2      結果無効      最終結果  初行  Data数  該当行  最終結果 
   3         4      89.93                                    89.9      3     16       1      89.9 
   4         5      90.84                                    90.8      3     16       2      90.8 
   5         6      90.85                                    90.8      3     16       3      90.9 
   6         7      91.02                                    91.0      3     16       4      91.0 
   7         8      91.87                                    91.9      3     16       5      91.9 
   8         9      92.31        91.8                        92.3      3     16       6      92.3 
   9        10      91.60                                    91.8      3     16       6      91.8 
  10        11      91.69                                    91.6      3     16       7      91.6 
  11        12      91.92                                    91.7      3     16       8      91.7 

(半平太) 2014/07/15(火) 10:21


半平太様

ありがとうございます。

・H列→ご指摘の様に、初行だけの話しであって、次行以降は単なる連番です。

・J列及び、L列

 J8=B8+((B9-B8)/(F9-F8))*(H8-F8)
 L8=B8+((B9-B8)/(F9-F8))*(H9-F8)  
 J9=B9+((B10-B9)/(F10-F9))*(H10-F9)になります。
 記載間違いがあった様ですみません。

・N列→現在手作業で求めているため、確認用に記載してます。

与えられているデータ→B、D、F列です。
必要なデータ→最終結果のP列です。
但し、確認用と他のメンバーが分かる様に、現在はJ、L、N列を記載しています。

半平太様が作成して頂いた式を使いやってみます。
有難うございました。

(TamTam) 2014/07/16(水) 12:19


 最終結果が得られればいい。但しもっと分かり易い表にして、
 他のメンバーも楽に確認できる様なものにしたいと云うことでしたら、
 その様にできますけど、もう見ていないとやっても意味ないので、
 そちらからのレス待ちとします。

(半平太) 2014/07/16(水) 16:38


コメント返信:

[ 一覧(最新更新順) ]


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