エクセルの関数に関する質問です。


カラムA カラムB
300   C
300   D
300   C
400   C
400   C
400   C

上記のようにカラムAには数値が、
カラムBには英字が書かれています。
カラムBに、Dが入っていた場合、
カラムAが同じ所の全てに1と書きたいのです。
つまり、下記のようになります。

300   C 1 
300   D 1
300   C 1
400   C 0
400   C 0
400   C 0

2列目がDになっていて、
1列目と3列目は、Cですが、
数値が一緒なので、1列目から3列目まで1
となっています。
このように制御する関数を作って頂けないでしょうか。

一番良い回答にはイルカ賞を進呈させて頂きます。
よろしくお願いいたします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/05/19 19:28:46
  • 終了:2011/05/20 00:19:38

ベストアンサー

id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982011/05/19 20:56:32

ポイント35pt

=SUMPRODUCT(($A$1:$A$9=A6)*($B$1:$B$9="D"))

というような感じでやればいいですね。

SUMPRODUCTを使う場合は 必ず 範囲を指定しないといけないので

チェックしたいところまでの範囲を指定してください。

id:martytaka

すみません!

Dは一個じゃなかったです。。

3 D

3 D

3 F

4 F

5 F

5 D

7 F

6 G

6 H

6 D

6 D

DがDDのように2文字にはならないという意味でした。。

できれば今一度、御投稿していただけないでしょうか。。

2011/05/19 23:19:52

その他の回答(1件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692011/05/19 20:12:14

ポイント35pt

回答できましたありがとうございます。


Dが1個だけならこれでいいと思います。

=IF(A1=INDEX(A:A,MATCH("D",B:B,0)),1,0)
id:martytaka

すみません!

Dは一個じゃなかったです。。

3 D

3 D

3 F

4 F

5 F

5 D

7 F

6 G

6 H

6 D

6 D

DがDDのように2文字にはならないという意味でした。。

できれば今一度、御投稿していただけないでしょうか。。

2011/05/19 23:19:45
id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982011/05/19 20:56:32ここでベストアンサー

ポイント35pt

=SUMPRODUCT(($A$1:$A$9=A6)*($B$1:$B$9="D"))

というような感じでやればいいですね。

SUMPRODUCTを使う場合は 必ず 範囲を指定しないといけないので

チェックしたいところまでの範囲を指定してください。

id:martytaka

すみません!

Dは一個じゃなかったです。。

3 D

3 D

3 F

4 F

5 F

5 D

7 F

6 G

6 H

6 D

6 D

DがDDのように2文字にはならないという意味でした。。

できれば今一度、御投稿していただけないでしょうか。。

2011/05/19 23:19:52
  • id:SALINGER
    私は回答できませんが、他の人が回答するにあたりはっきりしておいた方がいいこと。
    -カラムBにDは複数あるか
    -1以外は0になるのか
  • id:martytaka
    御指摘ありがとうございます。

    -カラムBにDは複数あるか
    AからZまで任意のアルファベット一文字がはいります。

    -1以外は0になるのか
    はい。
    1以外は0にしたいです。
  • id:SALINGER
    そんなに難しくないので他の人が回答してもおかしくないのですが、誰も回答しないところを見ると
    他の人も「他ユーザーの設定による回答拒否」が強くて回答できないのかもしれません。
  • id:martytaka
    他ユーザーの設定による回答拒否?
    よく分からないのですが、とりあえず回答拒否ユーザーを
    全て削除しました。
  • id:martytaka
    他ユーザーの設定による回答拒否ってなんでしょうか?
  • id:SALINGER
    そのすぐ上のところに
    「1ヶ月以内に ○人以上から回答拒否されているユーザーの回答を拒否する 」
    というところが少ない人数だと、よく回答する人は他の人の嫌がらせでほとんど回答できなかったりします。
  • id:martytaka
    他ユーザーの設定による回答拒否も解除できました。
    御指摘ありがとうございました。
  • id:windofjuly
    うぃんど 2011/05/19 21:00:13
    >とりあえず回答拒否ユーザーを全て削除しました。
    これはしないほうがよいいです
    もう一度登録しておきましょう
     
    >他ユーザーの設定による回答拒否も解除
    これは解除のままでもどちらでも
     
    id:SALINGERさんはExcel関連で多数の良質な回答をしておられる方ですし、
    関数を作るまでもなく標準で組み込まれている関数を1つ使うだけで出来ることなので
    これ以上回答を募る必要性って感じないですよ
     
    私が見たときには既に id:SALINGER さんが回答しておられたので新たに投稿をしたりはしませんが
    ポイント欲しさにむやみやたらといいかげんな回答をしてくる人が多数いますので
    早期にid:SALINGERさんの回答をオープンして終了してしまったほうがよろしいかと思います
  • id:martytaka
    ああ 俺ってアホや。。
    質問を間違えた。。
  • id:SALINGER
    takntさんの回答でいいようです。
    例えば、後の質問だと14行なのでC1に次の数式を入れて下にコピーです。
    =SUMPRODUCT(($A$1:$A$14=A1)*($B$1:$B$14="D"))
  • id:martytaka
    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません