Excelにて複数条件を満たす行の特定のセルの値を返す関数を作りたいのですが、上手く行きません。

<Sheet1>
  A列  B列  C列
1 2008/6/1 ★  320
2 2008/6/1 ☆  300
: : :

Sheet2のA1に、「A列が2008/6/1で、B列が☆の場合、C列の値を返す」という関数を入れたいのですが、どうも上手く行きません。

良い式がありましたら教えて下さいm(_ _)m

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> 同じ条件が成立する複数の行は存在しないので、その条件は不要


> エラー表示はさせず、空白にしたい

以下のようにしてみてください。

=IF(SUMPRODUCT((A1:A5="2008/6/1"*1)*(B1:B5="☆"))=0,"",INDEX(C:C,SUMPRODUCT((A1:A5="2008/6/1"*1)*(B1:B5="☆")*ROW(A1:A5))))
    • good
    • 11

まったく見当が付かないというのでしょうか。


INDEX,MATCH,LOKKUP,VLOOKUP,SUMPRODUCTなどの関数を組み合わせてみてはいかがでしょう。(IF関数も使うかもしれません)
組み合わせ方によって様々な手法があります。質問者自身で考えた方法についてそれが正しく動くようアドバイスを求める方が、知識として身につくと思います。
まったくお手上げというのであれば、他の方の手法を参考にすることで理解が深まると思いますが、まずは自分で考えた方法を示してみましょう。
きっと良い解決方法をアドバイスしていただけると思います。

さて、続いて質問内容について補足を求めます。
同じ条件が成立する複数の行があった場合、全てを抽出するのでしょうか。
一番上、または一番下にある行を抽出するのでしょうか。
それによって答えはまったく異なる物になります。
また、条件に一致する物がない場合はどのようにするかです。
エラーが表示されても良いのか、エラーなど表示せず空白にするのか、条件に一致する物が無いことを示すメッセージを表示するのか、など。
(こういう事を考えることで処理の方法を理解できるようになります。是非考えてください。)

この回答への補足

補足させて頂きます。

>同じ条件が成立する複数の行があった場合、全てを抽出するのでしょうか。一番上、または一番下にある行を抽出するのでしょうか。

同じ条件が成立する複数の行は存在しないので、その条件は不要です。

>また、条件に一致する物がない場合はどのようにするかです。
 エラーが表示されても良いのか、エラーなど表示せず空白にするのか。

エラー表示はさせず、空白にしたいです。

補足日時:2009/05/18 12:25
    • good
    • 2

一例です。


=INDEX(C:C,SUMPRODUCT((A1:A5="2008/6/1"*1)*(B1:B5="☆")*ROW(A1:A5)))
    • good
    • 6

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルの、複数条件指定の合計を出すSUMIFS関数の末尾の「 S」は、何の意味でしょうか?

エクセルの、複数条件指定の合計を出す、SUMIFS関数の末尾の「 S」は、何の意味でしょうか?
別にある単数条件指定の合計を出す関数の「SUMIF」関数との区別で気になっています。

詳しい方がいましたら、ご回答、よろしくお願いします。

Aベストアンサー

こんにちは!

SUMIF関数は検索条件がひとつの場合の「合計」に使用する関数ですが、
SUMIFS関数関数は複数条件に対応できる関数になります。
その意味での「s」になるのではないでしょうか?

※ Excel2007以降では同じような関数で
COUNTIFS関数・AVERAGEIFS関数等が準備されています。m(_ _)m

QExcel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)

Excel2000です。

Sheet1のA列・B列・C列・・・にデータが入っています。
Sheet2のA列・B列・C列・・・にデータが入っています。

Sheet1のA列とSheet2のA列は、似たようなデータが入っています。
Sheet1のB列とSheet2のB列も、同様です。
C列以降のデータは、シート間で全然関係ありません。

Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、
を知るには、どうすればよいですか。
C列以降の列のデータは、比較する際に使いません。

つまり、
Sheet1のA = Sheet2のA
かつ
Sheet1のB = Sheet2のB
であるような行を知りたいのですが、

どうすればよいのでしょうか。

Aベストアンサー

Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、

Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)

Qエクセル関数(IF)のある条件公式の意味は?

ある商品の売買に関する下記のエクセル関数(IF)のある条件公式の意味がわかりません。
どなたか、教えていただけましたら嬉しく思います。

fx=IF(H28>$F$6,IF(F28>1,"売","-"),
IF(H28<-$F$6,IF(F28>1,"買","-"),"-"))

前半の部分は、Fから6(?)の値がH28の値よりも小さいとき、
かつF28の値が1よりも大きいときは売。
後半の部分はFから6(?)の値がH28よりも大きいとき、
かつF28の値が1より大きいときは買。
という指示ではないかと思いますが正しいのでしょうか?

この条件の公式なのですが、意味がわかりません。
よろしくお願いします。

Aベストアンサー

参考に
=IF(F28>1,IF(H28>$F$6,"売",IF(H28<-$F$6,"買","-")),"-")
式をこのようにすることもできます。
売買の条件
1.F28>1 であること
2.H28>F6 ならば 「売」
3.H28<-F6 ならば 「買」
4.1~3に当てはまらない場合はすべて 「-」

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

Qこのポイント獲得条件の意味がわからないんですけど分かりやすく説明してくれる方お願いします(T_T)

このポイント獲得条件の意味がわからないんですけど分かりやすく説明してくれる方お願いします(T_T)

Aベストアンサー

「インストールしてアプリ起動」と書いてありますね。そのままです。
上のボタンから、AppStoreにへ入って、ダウンロード。アプリ起動です。
大抵はアプリ起動後にブラウザが勝手に立ち上がります。遷移しない場合はポイント付かない(失敗)してる事が多いです。(なお、失敗したと思ってやり直し2度めインストールしても付きません。1度インストールしてるため)

こういったポイント付くと書いてあっても、ポイント付かない場合もあります。
特定のゲーム会社のもので付かないという事があります。(偽広告?)
すぐポイントと書いてあっても、5分後ぐらいの事もあります。

QエクセルのSheet1のA1:D5の範囲をSheet2のA1:D5へ参照したいのですが、何か方法はあ

エクセルのSheet1のA1:D5の範囲をSheet2のA1:D5へ参照したいのですが、何か方法はありますでしょうか?

Aベストアンサー

#5です。間違えました。

正「Sheet2のB2に以下を貼り付けて」
誤「Sheet2のA3に以下を貼り付けて」

Q戦略的互恵関係の成立条件とその意味とは?

戦略的互恵関係の成立条件とその意味とは?

最近、国会の予算委員会をラジオで聞いていると「戦略的互恵関係」という言葉が頻繁に聞こえてくるのですが、意味がわからないのです。
まあ、主義主張が同じ国であれば「互恵関係」は成立すると思いますが、主義主張が全く異なる国との間に「戦略的互恵関係」など存在し得ないように思うのですが、どのような考えや哲学で主義主張が全く異なる国家間で「戦略的互恵関係」なるものが成立するものなのでしょうか?
成立するとなれば、どのようなものでしょうか? 
強いて追加すると、北朝鮮とは「戦略的互恵関係」は成立しないですよね。同質同根の中国とも同じですよね。
どういう成立条件で何を意味するのかをお教え願いたい。

Aベストアンサー

+共産主義を標榜する共産党の答弁の方がむしろ哲学的ですね。では彼らはなんなのでしょうね。

原理主義者です。

原理主義者には、聖書・聖典があります。

工作部員とプランナーの役割分担と言い換えることでしょう。

鉄砲玉兵卒とイマームといっても良いかもしれません。

社会主義者を装う共産主義者の特徴として

孤立する(自分はゲリラだと思っている)。
人間はうんざり。(家族関係がギクシャクしている)
世界の景色こそ大事。人間は邪魔。

基本的に組織はいらないと主張するが、
政党・病院は、戦略的互恵関係に基づき、常に組織は利用している。
損をしたと感じたら、社会性がないと主張する。(愛は損得関係だと思っている)

「宗族社会」を理想の社会と思い込み、「変な過疎村」が現存する原始共産主義だと勘違いしている)
自分の考えが聖典。(そういう意味では新教キリスト的)

共産党は政権を取れないから投票しない。というのも戦略的互恵関係です。
同党が政権を取れば真っ先に指導的立場に就職したいと思っている。

民主党に対してそう考えているように、
共産党が、政権をとれば
いままでこの党には何かあると思っていた。と饒舌さを発揮し、取り入ろうとするはずです。

自己中心を基礎とした戦略的どっちつかず。
便所に行くことさえ「精神的充足」と名づける「俗物唯物論者」です。
自分に合う人がいないといつも半泣きの顔をさらけ出している不幸な人たちです。

+共産主義を標榜する共産党の答弁の方がむしろ哲学的ですね。では彼らはなんなのでしょうね。

原理主義者です。

原理主義者には、聖書・聖典があります。

工作部員とプランナーの役割分担と言い換えることでしょう。

鉄砲玉兵卒とイマームといっても良いかもしれません。

社会主義者を装う共産主義者の特徴として

孤立する(自分はゲリラだと思っている)。
人間はうんざり。(家族関係がギクシャクしている)
世界の景色こそ大事。人間は邪魔。

基本的に組織はいらないと主張するが、
政党・病院は、戦略的互...続きを読む

QエクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させて1つのワークシートに纏める方法を探しています。

2つの時系列データがあるのですが、データA(為替データ)とデータB(株式データ)のデータ管理方法が下記のように異なっています。

データA(為替データ)・・・1週間のうち6日間(月曜から土曜まで)
データB(株式データ)・・・1週間のうち5日間(月曜から金曜まで)

おのおのワークシートのA列に日付が入っています。

データAは月曜から土曜までなので、1週間に6行要します。データBは月曜から金曜なので1週間に要するのは5行です。従って、単純にこの2つのデータを張り合わせるだけでは(データBをデータAのシートに張り合わせた時)、1週間に要する行数が違うので1行ずつずれてしまいます。

1週間に要する行数の違いだけでなく、マーケットが休みの日はデータそのものがないため日付が存在しません。(マーケットの休みもおのおの別の日でバラバラです。)

これらの理由により、ただ単に張り合わせるだけだとずれが広がるばかりです。

そこでデータAの日付とデータBの日付を認識して一致させる関数を教えて欲しいと思います。

データAの構成はA1=日付、B1=始値、C1=高値、D1=安値、E1=終値で、データBの構成も同じです。
データAのF1にデータAのA1と同じ日付のデータBの行を貼り付るように設定したいと思っています。

説明が分かり辛い場合は補足しますので、その際はご指摘下さい。

宜しくお願いします。

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させて1つのワークシートに纏める方法を探しています。

2つの時系列データがあるのですが、データA(為替データ)とデータB(株式データ)のデータ管理方法が下記のように異なっています。

データA(為替データ)・・・1週間のうち6日間(月曜から土曜まで)
データB(株式データ)・・・1週間のうち5日間(月曜から金曜まで)

おのおのワークシートのA列に日付が入っています。

データAは月曜から土曜までなので、1...続きを読む

Aベストアンサー

誤記がありましたね。ごめんなさい。

シートCのA2に
2010/1/1
を置いて下向けにえいやっとオートフィルドラッグ,365日の日付を並べておいて
B2:為替
=IF(COUNTIF(為替!$A:$A,$A2),VLOOKUP($A2,為替!$A:$E,COLUMN(B2)),"")
を右に下にコピー。
F2:株式
=IF(COUNTIF(株式!$A:$A,$A2),VLOOKUP($A2,株式!$A:$E,COLUMN(B2)),"")
を右に下にコピー。

これでマーケットの開いてなかった日付がエラーになることもありませんので,追加のご質問も解消でしょうか。

Q不問求人条件にかかる特記事項・・・ 意味?

求人情報に以下の用語がありましたが、何を意味しているのでしょうか?

不問求人条件にかかる特記事項正社員雇用(試用期間3ヶ月:賃金同じ)

このように、ハローワークや求人情報特有の言葉をわかりやすく解説したサイトなどありますか?

Aベストアンサー

正社員だけれど試用期間が3ヶ月ありますという意味です。
特記事項なので、注意すべき項目という意味かと思います。

ハローワークの独特の用語の参考になるかどうかわかりませんが
ハローワークインターネットサービス+転職サイトの情報を
両方掲載しているサイトがあるのでよければ参考までに。

参考URL:http://www.indivision.jp/promo/guide.html?banner_id=ad_hw

QSheet2にある情報をSheet1のA1に1列で

マクロを作りたいのですが、以下のようなものをどうすればできるかで詰まっています。

Sheet2にある情報をSheet1のA1に1列(A列B列C列の順)で並ぶようにしたいです。
Sheet2の内容は変わることがあるので、データがどの行まで入っているかはマクロを走らせるときにチェックしないとわからないかと思います。

[Sheet1]

111
222
333
aa
bb
aaa
bbb
ccc
ddd
eee


--------------------------
[Sheet2]

ABC
1111aaaaa
2222bbbbb
3333ccc
4ddd
5eee



素人な質問かもしれないですが、調べてもわからなかったので、教えていただけると幸いです。

Aベストアンサー

>A列 F列 H列にあるデータのみ

他の方への投げかけでは,また違う場所にあるデータを転記したいとなっていますよね。
「具体的に」どこからのデータを転記したいのかによって,適切なマクロの書きぶりが違うということを理解してください。


○A列,C列,E列,G列のように規則的に飛び飛びの列を処理したいと言いたかったときは
sub macro2()
 dim i as long
 dim r as long
 worksheets("Sheet1").range("A:A").clearcontents
 for i = 1 to 7 step 2
 r = worksheets("Sheet2").cells(65536, i).end(xlup).row
 worksheets("Sheet2").cells(1, i).resize(r, 1).copy _
  destination:=worksheets("Sheet1").range("A65536").end(xlup).offset(1)
 next i
 worksheets("Sheet1").range("A1").delete shift:=xlshiftup
end sub


○通常はあまり考えにくい状況ですが,A列,F列,H列とデタラメな列を処理したい場合
sub macro3()
 dim i as variant
 dim r as long
 dim a as variant
 a = array(1,6,8)
 worksheets("Sheet1").range("A:A").clearcontents
 for each i in a
 r = worksheets("Sheet2").cells(65536, i).end(xlup).row
 worksheets("Sheet2").cells(1, i).resize(r, 1).copy _
  destination:=worksheets("Sheet1").range("A65536").end(xlup).offset(1)
 next i
 worksheets("Sheet1").range("A1").delete shift:=xlshiftup
end sub








#補足
思いつきで補足質問を投げるから,言葉足らず説明不足で「良いアドバイス」が得られません。結果してお互いに二度手間三度手間になることが非常に多くあります。まさにこのご相談のように。
次の課題に進みたい時は思いつきで「ついでに聞いちゃえ」じゃなく,一回ご相談を「解決」で閉じてから,改めて「今度は具体的にこういう状況でこうしたい」とキチンとご相談を書くことを覚えてください。

>A列 F列 H列にあるデータのみ

他の方への投げかけでは,また違う場所にあるデータを転記したいとなっていますよね。
「具体的に」どこからのデータを転記したいのかによって,適切なマクロの書きぶりが違うということを理解してください。


○A列,C列,E列,G列のように規則的に飛び飛びの列を処理したいと言いたかったときは
sub macro2()
 dim i as long
 dim r as long
 worksheets("Sheet1").range("A:A").clearcontents
 for i = 1 to 7 step 2
 r = worksheets("Sheet2").cells(65536, i).en...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング