親子におすすめの新型プラネタリウムとは?

お世話になります。

データがE1:G16にあります。A2とB2を入力すると、C2にG列の該当するデータを検索したいのですが、うまく検索することができません。

お知恵をお貸しください。
よろしくお願いいたします。

「2つの条件で検索する方法を教えてください」の質問画像

A 回答 (2件)

こんばんは!



重複するデータはない!という前提で・・・

画像の配置だとC2セルに
=IF(COUNTIFS(E2:E16,A2,F2:F16,B2),INDEX(G2:G16,MIN(IF((E2:E16=A2)*(F2:F16=B2),ROW(G2:G16)-1))),"データなし")

上記数式は配列数式になりますので、Ctrl+Shift+Enterで確定!(←必須★)

または
=IF(COUNTIFS(E2:E16,A2,F2:F16,B2),INDEX(G2:G16,SUMPRODUCT((E2:E16=A2)*(F2:F16=B2)*(ROW(G2:G16)-1))),"データなし")

これは配列数式の操作は不要です。

としてみてください。m(_ _)m
    • good
    • 0

C2: =IF(SUMPRODUCT((E$2:E$16=A2)*(F$2:F$16=B2)*ROW(G$2:G$16)),IND

EX(G$1:G$16,SUMPRODUCT((E$2:E$16=A2)*(F$2:F$16=B2)*ROW(G$2:G$16))),"")
    • good
    • 0

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

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

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

Q条件付き書式の設定の仕方

別の表にあるセルと同じものがあればセルに色を付けたいのです。

条件付き書式の設定で良いかと思いますが

例えば

=COUNTIF(A1:A11,D2)

この式の

A1:A11

この部分は$A1:$A11 のように絶対値での範囲指定しないとエラーになってしまいます。

この部分のデーターは時々追加などがありますので、$A1 列単位での範囲指定をしたいのですが
できないのでしょうか?

よろしくお願いいたします。

Aベストアンサー

>>一からやっていることを整理して書いていただけますか?
と書いたと思うんですが。

A列とB列はそれぞれ文字列で入っているのですか?データ型は同じ?
例示ではどれにも色はつきませんよね?
うまく行かないのは全部ですか?うまくいくデータといかないデータの例は挙げられますか?
条件付き書式にはどのように設定しているのか適用先と条件を書いてもらえますか?
再掲ですが、
>>つまり、見た目空白のセルにも色がついてしまいます
>ここには元々どのようなデータが入っていたのですか?

Qエクセル リストと完全一致するセルに色をつける

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

Aベストアンサー

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付け...続きを読む

Qエクセルの質問です。 一つのフォルダにエクセルファイルが100個あります。 そのファイル一つ一つに全

エクセルの質問です。

一つのフォルダにエクセルファイルが100個あります。
そのファイル一つ一つに全て同じ計算式
+SUM(a8:a20)を入力するのですが、とても面倒です。

何か良い方法はありませんでしょうか。

なお、ファイルはひとつひとつ別物なので、計算式を入力してからコピーという方法はとれません。

Aベストアンサー

> 同じ計算式+SUM(a8:a20)

計算式およびSUM関数という意味ですよね?


> 何か良い方法はありませんでしょうか。

全てのExcelファイルに対して式を埋め込むVBAマクロを記述したファイルを作成して実行させればよいです。

業務で作成した、雛形ファイルをコピーしてデータを入力したファイル(数百個~千以上)があり、式やマクロのアップデートをする場合に行なっています。
大量のファイルに対して手作業で修正を行うのは時間の無駄です。ミスの発生する可能性もありますしね。

QIF関数について

A1~Z1の列の間に、特定の文字(たとえば”りんごの文字”)がセル内に含まれる場合(あかりんごなど)にその下のA2~Z2の列の間に記入された日付を抜き出す方法をご存知でしたら
どなたか教えていただけませんでしょうか、よろしくお願いします。

A2にあかりんごがあれば、B2の日付を抜き出そうとしています。

Aベストアンサー

では、HLOOKUP関数か、抜き出すのが日付ならSUMIF関数でもできるかと思います。

りんごを含む文字を検索値にする場合で、直接式にいれるなら「*りんご*」のようにしてください。

Q指定した文字入力

A2に1を入力するとC2に0@@1-1.0@@1-2.0@@1-3.0@@1-4
A3に2を入力するとC2に0@@2-1.0@@2-2.0@@2-3.0@@2-4

C列に入る式を教えて下さい。

Aベストアンサー

No.2です。

>コードでハイフンの右横の数字に()を付けたいのですが

前回のコードの
>myStr = myStr & Format(Cells(i, "A"), "000-") & k & ","
の行を

>myStr = myStr & Format(Cells(i, "A"), "000-") & "(" & k & ")" & ","
または
>myStr = myStr & Format(Cells(i, "A"), "000-") & Format(k, "(0)") & ","
に変更してみてください。

※ 数式での方法もご希望だというコトなので、
関数で1セル内に複数の文字列を収めるとなると、結構厄介です。
一例です。
↓の画像のように作業用の列を4列(画像ではD~G列)設けます。

作業列D2セルに
=TEXT($A2,"000-")&TEXT(COLUMN(A1),"(0)")
という数式を入れ、右へ4列分フィル&コピー → そのまま下へフィル&コピー!

最後にC2セルに
=D2&","&E2&","&F2&","&G2
という数式を入れフィルハンドルで下へコピーしています。

数式で処理するとすればこんな感じでしょうか。

No.2です。

>コードでハイフンの右横の数字に()を付けたいのですが

前回のコードの
>myStr = myStr & Format(Cells(i, "A"), "000-") & k & ","
の行を

>myStr = myStr & Format(Cells(i, "A"), "000-") & "(" & k & ")" & ","
または
>myStr = myStr & Format(Cells(i, "A"), "000-") & Format(k, "(0)") & ","
に変更してみてください。

※ 数式での方法もご希望だというコトなので、
関数で1セル内に複数の文字列を収めるとなると、結構厄介です。
一例です。
↓の画像のように作業用の列を4列(画像...続きを読む

Qエクセル 日付超過でポップアップを表示する方法

荷物の配送業務を担当しています。
単純な例で言いますと、A列には荷物名、B列には荷物の受領日、C列には発送予定日を入力します。
発送予定日は受領日から10日以内で行う事を原則としているため、作業者が10日以上の日付を入力する場合には、ポップアップで「日付超過」といったメッセージを表示したいです。(メッセージが表示されるだけで、日付が超過していても入力は可能としたいです)
条件付きや入力規則で設定できるのか、VBAで作らなければいけないのか、、全くの素人の為、ご指南頂ければと思います。

Aベストアンサー

>作業者が10日以上の日付を入力する場合には、ポップアップで「日付超過」といったメッセージを表示したいです。

ならば「入力規則」という機能を使いましょう。
「データ」→「データ ツール」→「データの入力規則」
です。

セルを指定して
「設定」タブの
 「入力値の種類」を「日付」、
 「データ」を「次に日付けより小さい」、
 「終了日」に「=受領日+10」 
 ※受領日は実際に入力されているセルを指定してください。(例:=A1+10)
「エラーメッセージ」タブの
 「無効なデータが入力されたらエラー メッセージを表示する」にチェックマークを付け
 「スタイル」を「注意」
 「タイトル」に「日付超過」など適切な語句を入力
 「エラー メッセージ」に「受領日より10日以内の日付を入力してください」など適切な語句を入力
これでOK。

質問者さん自身で「入力規則」について確認をし使い方を理解するようにしましょう。

なお、値をコピーして貼り付けたり、フィルで連続した日付を入力した場合「入力規則」は働きません。注意してください。


・・・余談・・・

ちゃんと動作確認してくださいね。
受領日を 3/1 としたとき、上の例では 3/10 までがメッセージを出さない期日になります。
また、受領日などの日付けは年を含む日付になっていないと意図した通りに機能しないことがあります。
(例:× 3/1、〇 2019/3/1)

>作業者が10日以上の日付を入力する場合には、ポップアップで「日付超過」といったメッセージを表示したいです。

ならば「入力規則」という機能を使いましょう。
「データ」→「データ ツール」→「データの入力規則」
です。

セルを指定して
「設定」タブの
 「入力値の種類」を「日付」、
 「データ」を「次に日付けより小さい」、
 「終了日」に「=受領日+10」 
 ※受領日は実際に入力されているセルを指定してください。(例:=A1+10)
「エラーメッセージ」タブの
 「無効なデータが入力されたらエラ...続きを読む

QExcelのフィルター後のセルにコピー

エクセルでSHEET1にデータがあり 例えば 右横項目として 名前 年齢 出身地 あだ名項目(これはまだ未入力) など 横にならんでいて左端縦には下にいろんな人の名前がずらっと並んであった場合、例えば 県別項目の青森県でフィルターを掛けた場合 そのとき必ず6人いるとものして、SHEET2に用意していた、A列下のセルに縦に あだ名6個用意していたとする、たぬき、くま、きりん、ぞう、ウサギ、カラス それを6個まるごとフィルター後のSHEET1のあだな項目欄に一回でスポット コピーペーストできるものでしょうか。

Aベストアンサー

こんばんは!

一気に!という訳にはいきませんが、VBAでの一例です。
Sheet1の1行目は項目行でデータは2行目以降にあり、
D列が「あだ名」列になっているとします。
そして、Sheet2のA1セル以降に表示したいデータが羅列してあるという前提で・・・

Sub Sample1()
 Dim i As Long, cnt As Long
  With Worksheets("Sheet1")
   If .AutoFilterMode Then
    If .AutoFilter.FilterMode Then
     For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
      If .Rows(i).Hidden = False Then
       cnt = cnt + 1
       .Cells(i, "D") = Worksheets("Sheet2").Cells(cnt, "A")
      End If
     Next i
    Else
     MsgBox "絞り込まれていません"
    End If
   Else
    MsgBox "フィルタが設定されていません"
   End If
  End With
End Sub

とりあえずはお望みの動きになると思います。m(_ _)m

こんばんは!

一気に!という訳にはいきませんが、VBAでの一例です。
Sheet1の1行目は項目行でデータは2行目以降にあり、
D列が「あだ名」列になっているとします。
そして、Sheet2のA1セル以降に表示したいデータが羅列してあるという前提で・・・

Sub Sample1()
 Dim i As Long, cnt As Long
  With Worksheets("Sheet1")
   If .AutoFilterMode Then
    If .AutoFilter.FilterMode Then
     For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
      If .Rows(i).Hidden = False T...続きを読む

QExcel関数 賞味期限が何%経過したかを求める式

Excel関数 を教えてください!

賞味期限が何%経過しているかを求める式が作れません。

例 賞味期限 2020/07/01 (製造から未開封で30ヵ月)
この商品は、2019/01/23日時点では賞味期限は何%過ぎたことになるのでしょうか?

これが作れないと残業から解放されず、睡眠不足で辛いです。どうか助けてください。宜しくお願いします。

Aベストアンサー

A1のセルに製造日、B1のセルに賞味期限を日付で入れる(ただし、賞味期限は製造日からのカウントの場合)

例えばA1=2018/01/01、B2=2019/07/01として、
=(TODAY()-A1)/(B1-A1)
を計算させると、今日までで何割消化したかがでてきます。

QExcelで「令和」と表示されるのは5月1日にならないとだめですか?

「日本の新元号に関する Office の更新プログラム」というページ(下記)で、
「Windows と Office の更新プログラムを適用済みの場合でも、Windows 上で実行されている Office 製品は 2019 年 5 月 1 日に新元号が開始されるまで、新元号を表示しませんのでご注意ください。」
と書かれています。
https://support.microsoft.com/ja-jp/help/4478844/office-updates-for-new-japanese-era

今月4月中に、Excelのセルに来月5月以降の年月日を入力した場合に、自動で「令和」という元号を表示させることはできないのでしょうか。

もし、できるということであれば、「2019 年 5 月 1 日に新元号が開始されるまで、新元号を表示しません」とはどのような意味なのでしょうか。

Aベストアンサー

>こちらでは、「4月17日以降にOfficeも更新されれば「令和元年」と表示されると思います」と書かれているんですが

その方は、Microsoftの方ではないですし個人の予想ですよね?公式が出ているのにそれを持ち出してどうするんですか?

5/1より前に新しい元号を表示したい場合は数式や表示形式で限定的に表示させる方法を色々な方が考え付いていますよ。
検索すればたくさん出てきます。

Qエクセル 文字列に数字を含む場合に色を付ける条件付き書式設定

エクセル2016です。
文字列に1つでも数字が入っている場合に色をつけたいです。

<例>
 A
1 足立区綾瀬
2 日光市今市1
3 新宿区新宿九
の場合に、A2セルだけ色をつける

どうかよろしくお願いします。

Aベストアンサー

No.3です。私は勘違いしていたようで、すみません。
こんどはちゃんと確認しました。

=MATCH(FALSE,(ISERROR(FIND(COLUMN(A1:J1)-1,A1))),0)

これでいかがでしょうか?
全角の数字が入る可能性はないとしても、もし混入する恐れがあるなら、
ASC関数を入れてください。

=MATCH(FALSE,(ISERROR(FIND(COLUMN(A1:J1)-1,ASC(A1)))),0)


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

人気Q&Aランキング