[[20150629155824]] 『Aシートの一番小さい数字からBシートの一番小さ』(ねね) ページの最後に飛ぶ

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

 

『Aシートの一番小さい数字からBシートの一番小さい数字を引く』(ねね)

いつもお世話になっております。

Aシートの1行目の一番小さい数字〜Bシートの一番小さい数字を
引くと E1に「-3」
Aシートの2行目の一番小さい数字〜Bシートの一番小さい数字を
引くと E2に「3」
Aシートの3行目の1行目の一番小さい数字とBシートの一番小さい数字が
同じならば「ブランク」

このようにしたいのですが、E列にはどのような数式を
入れればいいですか?
一番小さい数字を探すならMIN関数?がいいのかと
思いますが引き算させたいので分かりません。
教えて下さい。

Aシート

   A    B   C   D    E
1  20  22  18  15   ?
2  30  32  28    ? 
3  10  12
4  25  28  22  20

Bシート

   A    B   C   D
1  20  22  18   
2  30  32  28 25
3  10  12 
4  25  28  22  21

< 使用 アプリ:Excel97-2003、使用 OS:WindowsXP >


 シートAのE1 =IF(MIN(A1:D1)=MIN(B!A1:D1),"",MIN(A1:D1)-MIN(B!A1:D1))
 必要数コピー。
 ですかね。
(ろっくん) 2015/06/29(月) 16:17

(ろっくん)さん
早速、御返事ありがとうございます。
「ブランク」にするためにIF関数なんですね。

もうひとつ、条件がありました。
A列の前に商品名があり(O列とさせて下さい)、
AシートBシート同じ商品で計算したいです。
AシートのO1と同じ商品の1行目一番小さい数字から
BシートのO1と同じ商品の1行目一番小さい数字を引く。
可能でしょうか?

   O  A    B   C   D    E
1  AAA 20  22  18  15   ?
2  BBB 30  32  28    ? 
3  DDD 10  12
4  EEE 25  28  22  20

Bシート

   O    A    B   C   D
1  AAA 20  22  18   
2  BBB  30  32  28 25
3  CCC  10  12 
4  DDD 25  28  22  21

(ねね) 2015/06/29(月) 16:34


 > A列の前に商品名があり(O列とさせて下さい)

 そんなこと無理ですから、どちらのシートも商品名はA列、
 数値は B列〜E列 だとする。

 Bシート → Sheet2

 F1 =IF(COUNTIF(Sheet2!$A$1:$A$10,A1),MIN(B1:E1)-MIN(INDEX(Sheet2!$B$1:$E$10,MATCH(A1,Sheet2!$A$1:$A$10,0),0)),"")

 表示形式 → ユーザー定義 #

 最小値が同じ場合は何も表示されないけど、それは表示形式で「0」を非表示にしてるだけ。
 セルの値は「0」のまま。それだと何か問題あるのかな?

 行ごとの最小値をF列にでも出しておいた方がいいような気がしますけどね!
(笑) 2015/06/29(月) 23:14

(笑)さん
遅い時間にも関わらず、ありがとうございます。

行ごとの最小値をF列に出したいと思います。
F1=MIN(A1:D1)
と入れましたが、F3に数字がでてきません。

できれば、数字が無い所はブランクにしたいです。
(0になってもいいですが)

よろしくお願いします。
(ねね) 2015/06/30(火) 16:26


 > F1 =IF(COUNTIF(Sheet2!$A$1:$A$10,A1),MIN(B1:E1)-MIN(INDEX(Sheet2!$B$1:$E$10,MATCH(A1,Sheet2!$A$1:$A$10,0),0)),"")
 > 表示形式 → ユーザー定義 #
 
 この式は試してくれたのかな?
 試してみて期待通りにならなかったってこと?
 それを説明してもらわないと先へ進めないよ。

 > できれば、数字が無い所はブランクにしたいです。

 これ意味がわからないんだけど?
  
 
 > 行ごとの最小値をF列に出したいと思います。

 行ごとに最小値を出しておけば VLOOKUP とかを使うことができるから
 上の式より少しは簡単にできるという意味で書いたんだけど、わかってくれてるかな?
 そんな劇的に簡単になるわけじゃないよ。

 それはどんな式かというのなら
 1)実際の表で、商品名はどの列にあるのか
 2)数値はどの列からどの列までにあるのか
 3)行ごとの最小値はどの列に出すのか
 このへんの具体的なこと教えてくださいな、実際の表に即して!
(笑) 2015/07/01(水) 00:42

(笑)さん
ご対応ありがとうございます。
 > F1 =IF(COUNTIF(Sheet2!$A$1:$A$10,A1),MIN(B1:E1)-MIN(INDEX(Sheet2!$B$1:$E$10,MATCH(A1,Sheet2!$A$1:$A$10,0),0)),"")
も試しましたが、シート名など入れ替えていたら
わからなくなってしまいました。

整理しますのでよろしくお願いします。

 1)実際の表で、商品名はどの列にあるのか→A列(800行前後あります)
 2)数値はどの列からどの列までにあるのか→C列からF列です。
 3)行ごとの最小値はどの列に出すのか→G列に出したいです。

あとB列にはBシートの商品名が同じ同士の最安値の
差異を出したいです。
例えば1行目は
Aシート(2015y8)の安値は15
Bシート(2015y7)の安値は18
なのでB1は-3です。
矢印と青表示(マイナスになった場合)
矢印と赤表示(プラスになった場合)

3行目は差異が無いので「0」ですが
表示させない

Aシート(2015y8)←シート名です

   A    B     C   D   E   F   G
1  AAA ↓-3  20  22  18  15  ?
2  BBB ↑4   30  32  28    ? 
3  DDD       10  12
4  EEE  ↓-1  25  28  22  20

Bシート(2015y7)

   A    B   C   D    E   F   G
1  AAA     20  22  18   
2  BBB      30  32  28 24
3  CCC      10  12 
4  DDD     25  28  22  21

(ねね) 2015/07/03(金) 10:08


 さりげなく条件が追加されてますね!

 >   A    B
 > 1  AAA ↓-3
 > 2  BBB ↑4
 > 3  DDD
 > 4  EEE  ↓-1

 なぜB3が「空白」で、B4が「↓-1」なのか、さっぱりわからないんだけど、
 勘違いだろうと思って無視します。

 G1 =MIN(C1:F1) 表の一番下までオートフィル
 必ず両方のシート、どちらにも入れておくこと!

 2015y8シート
 B1 =IF(COUNTIF('2015y7'!$A$1:$A$1000,A1),G1-VLOOKUP(A1,'2015y7'!$A$1:$G$1000,7,FALSE),"")

 表示形式のユーザー定義  [赤]"↑"0;[青]"↓"-0;

 下へオートフィル(矢印は表示だけ。実際の値は数値のみ)
 
 
 ちなみにG列に最小値を出さない場合は
 B1 =IF(COUNTIF('2015y7'!$A$1:$A$1000,A1),MIN(C1:F1)-MIN(INDEX('2015y7'!$C$1:$F$1000,MATCH(A1,'2015y7'!$A$1:$A$1000,0),0)),"")

 表示形式は上に同じ。
 
 > できれば、数字が無い所はブランクにしたいです。

 これの説明がないけど何だったんですかね?
(笑) 2015/07/03(金) 13:23

(笑)さん

御返事遅くなりました。
途中、列が増えてしまって、教えて頂いた計算式を
そのまま使えなくなってしまいましたが、変更して
希望通り出来るようになりました。

できれば、数字が無い所はブランクにしたいです。


「0」の場合は表示しない
でした。

ありがとうございました。

(ねね) 2015/07/07(火) 14:47


いつもお世話になっています。
教えて下さい。

教えて頂いた方法で実際に運用してみると

G1 =MIN(C1:F1)

でC3、D3と2つしかない行は
G3には0が表示されてしまいます。

最小値を求めるときは2つ以上なければいけないのですか?
(ねね) 2015/07/27(月) 16:24


 救い上げ。
E3やF3に0が入ってる扱いなんでしょうね。

(ご近所PG) 2015/07/30(木) 09:26


コメント返信:

[ 一覧(最新更新順) ]


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