アプリ版:「スタンプのみでお礼する」機能のリリースについて

A,B
2.3,510
3.1,610
4.6,740

・・
と続くときに,A列にある値があったときに,それに対応するBを返すという処理をしたいときに,いままではSUMIF関数でSUMIF(A列,”数字”,B列)とやっていました.
これだと,A列に同じ値が2個以上あったときはB列も合計されてしまいます.
同じ値があっても大丈夫なような処理方法はないでしょうか.

ご存知のかた教えて下さい.

A 回答 (4件)

》 A列に同じ値が2個以上あったときはB列も合計されて…


》 同じ値があっても大丈夫なような処理方法は…

「大丈夫」とは、どういうこと?
合計しないで、B列も2個以上表示して欲しいと?
    • good
    • 0
この回答へのお礼

ありがとうございます.

お礼日時:2012/01/25 08:16

VLOOKUP関数やMATCH関数は最初に見つけたものを対象にする性質があるので


これを使う手もある。
ーーー
しかしなかなか思いつかないかもしれないので
A列  B列  C列
111
221
331
14
25
36
471
のように作業列C列にサインを立てて、SUMIFを使う手もある。
C列C1には =IF(COUNTIF($A$1:A1,A1)=1,1,"")を入れて縦方向に
式を複写する。
結果は、上の行から考えて初めて出た数の行に1が入る。
これを対象に
=SUMIF(C1:C10,1,B1:B10)
B10の10は適宜変えること。
を入れると
結果
13
になる。
    • good
    • 0
この回答へのお礼

ありがとうございます.

お礼日時:2012/01/25 08:16

>同じ値があっても大丈夫なような処理方法



「大丈夫」が何を指すのか、まず明確にしてください。
A列に同じ値が複数あった場合、対応するB列の値も当然複数あるわけですよね。
その複数あるB列の値の何を返したいのか?
SUMIF関数ではダメということなので、合計ではないのはわかりますけど。
平均値?最大値?最小値?最初にヒットした行の値?

それと、Excelのバージョン(2010、2007、2003など)を記載していただけると回答しやすいです。
バージョンによって使える関数が違いますので。
    • good
    • 0
この回答へのお礼

ありがとうございます.

お礼日時:2012/01/25 08:17

1個しか持ってこなくて良いなら


=VLOOKUP(数字,A:B,2,FALSE)
のようにします。


実際にエクセルで使うときは
ご利用のエクセルのバージョンが不明ですが,Excel2007以降を使っているなら
=IFERROR(VLOOKUP(数値,A:B,2,FALSE),0)
とすると良いでしょう。

Excel2003以前を使っているなら
=IF(COUNTIF(A:A,数値),VLOOKUP(数値,A:B,2,FALSE),0)
などのように工夫します。


言わずもがなですが,数値を「"数値"」など,ご質問であなたが書かれたように""で囲ってはいけません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!