【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

A列にコードが有り、枝番がついています。
A列の最後の枝番を除くD列のコードを検索しますが、
その候補の一番下の値をE列に表示したいのです。

VLOOKUPでは、上手くいきません。
なお、表中に作業列は挿入ができません。

E列の式を教えて下さい。

「【Excel】検索して下の値を表示したい」の質問画像

A 回答 (2件)

配列で処理するしかないと思います。



注意点は、最初のINDEX関数の範囲は、A1からです。A2からではありません。
エラー対策も考えていません。

=INDEX($A$1:$B$8,MAX(INDEX((LEFT($A$2:$A$8,13)=D2)*ROW($A$2:$A$8),,)),2)
    • good
    • 0
この回答へのお礼

すみません。
何故か上手くいかない行があります。
また、質問改めます。

お礼日時:2018/12/07 13:29

E2: =INDEX(B$1:B$8,MAX(IF(LEFT(A$2:A$8,13)=D2,ROW(A$2:A$8))))


【お断り】上式は必ず配列数式として入力のこと
    • good
    • 0
この回答へのお礼

すみません。
何故か上手くいかない行があります。
また、質問改めます。

お礼日時:2018/12/07 13:29

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

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

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

Q【Excel】VLOOKUP検索値が複数あった場合、下の値を表示したい

D列のコードをA列の中で検索し、
B列の値をE列に表示したいのですが、
VLOOKUPを使用した場合、検索値の最初の行が表示されます。
同じコードの場合、一番下の行の値を表示するにはどうしたら良いでしょうか。

Aベストアンサー

添付画像の通りの並びが前提となってしまいますが、こんな感じでどうでしょう。

【E2セル】=INDEX(B:B,MATCH(D2,A:A,0)+COUNTIF(A:A,D2)-1)

Qエクセルでの名前の定義について

エクセルで シート1の患者の単に名前が下にずらっと並んでいて、シート2にそれぞれの患者の情報が
横に列ごとの項目種類でならんでいた場合シート1の患者に名前の定義をし(例 S患者名)、シート2でも患者に名前を定義し(例 B患者名) それぞれお互いにクリックして見れるようにハイパーリンクをしたが、シート2でソートなどをした関係か、シート2からシート1はいいが、シート1からシート2はずれてリンクささってしまうが、どうしてか? ご教授ください。

Aベストアンサー

No.1です。

このやり方は名前の定義は不要です。手順に沿って行うだけでよいです。
A列には普通に名前を羅列します。(例 A2:Aさん、A3:Bさん、・・・)
B列には下記の手順にしたがって数式を入力します。
C列にはリンクしたい先の名前を記載します。(例 C2:Bさん、C3:Cさん、・・・)
こちらで試したときのデータの配置を添付しました。(そちらのデータの配置は把握しておりません)

No.2の回答で、うまくいかなかった理由は、数式のシート名の部分が『sheet』になっているためと思われます。そちらのファイルではシート名は『シート○○』ですよね?

ついでに、もう一点微修正しましたので、以下の手順と差し替えてください。
(数式を変えただけで手順は同じです)
最下部の※も参照ください。

◆手順
1.シート1のB2セルに『=HYPERLINK(CELL("address",INDEX(シート2!A:A,MATCH(C2,シート2!A:A,))),C2)』と入力して、下方向にコピペします。
2.シート1のC列にリンク先患者名(例:S患者名)を記入します。
3.シート2のB2セルに『=HYPERLINK(CELL("address",INDEX('シート1'!A:A,MATCH(C2,'シート1'!A:A,))),C2)』と入力して、下方向にコピペします。
4.シート2のC列にリンク先患者名(例:B患者名)を記入します。


シート名やセル参照はそちらのデータにあわせる必要があります。
リンク(C列)に指定した名前がもう一方のシートの名簿(A列)に存在しない場合、リンクがエラーになります。
あっているはずなのにリンクがエラーになるときは、F2キーを押してからEnterを試してください。

No.1です。

このやり方は名前の定義は不要です。手順に沿って行うだけでよいです。
A列には普通に名前を羅列します。(例 A2:Aさん、A3:Bさん、・・・)
B列には下記の手順にしたがって数式を入力します。
C列にはリンクしたい先の名前を記載します。(例 C2:Bさん、C3:Cさん、・・・)
こちらで試したときのデータの配置を添付しました。(そちらのデータの配置は把握しておりません)

No.2の回答で、うまくいかなかった理由は、数式のシート名の部分が『sheet』になっているためと思われます。そちらのファイ...続きを読む

QエクセルのIF関数について教えてください

エクセル2007を使用しているのですが、IF関数について分からない事があるので分かる方アドバイスをお願いします。

A2には「お急ぎ便」「通常便」「日時指定便」のいづれかの文字が入力されています。
A3には「出荷予定日」  2018/12/1 など入力されています。
A4には「=A3+1」と入力して出荷予定日の翌日の日付が入力されるようにしています。 
     例えばA3が2018/12/1の場合には2018/12/2と表示されます。

私がやりたいことですが、A5のセルに下記の情報を入力したいです。

A2のセルに「お急ぎ便」という特定の文字が含まれている場合には、出荷予定日の翌日に到着させなければいけない為、A4の日付をA5セルに表示させるようにしたいです。

反対に「通常便」「日時指定便」の文字が含まれている場合には、A5セルに何も入力せずに「空白」にしたいです。

私も色々と試行錯誤しながら下記の関数がつかえそうだと考えてみましたが、この文字列はお急ぎ便という文字がはいっている場合は○を表示させて、入っていない場合は×と表示させるものですよね。

=IF(COUNTIF(A2,"*お急ぎ便*")=1,"○,"×")

上記の○の部分に、A4のセルで表示されている文字を表示させるようにしたいのですが、可能でしょうか?×の部分は単純に削除して空白にすればいいと思うので問題がないのですが、○の部分に=A3+1とかA4とか色々と入力しましたが、入力した内容がそのまま表示されてしまって、A4の日付をA5のセルに表示させるのはできないようです。

分かる方がいらっしゃったらアドバイス頂ければ助かります。どうぞよろしくお願いします。

エクセル2007を使用しているのですが、IF関数について分からない事があるので分かる方アドバイスをお願いします。

A2には「お急ぎ便」「通常便」「日時指定便」のいづれかの文字が入力されています。
A3には「出荷予定日」  2018/12/1 など入力されています。
A4には「=A3+1」と入力して出荷予定日の翌日の日付が入力されるようにしています。 
     例えばA3が2018/12/1の場合には2018/12/2と表示されます。

私がやりたいことですが、A5のセルに下記の情報を入力したいです。

...続きを読む

Aベストアンサー

>○の部分に=A3+1とかA4とか色々と入力しましたが、入力した内容がそのまま表示されてしまって

まずは、A5のセルの表示形式を日付にしましょう。

それから、A2には
>「お急ぎ便」「通常便」「日時指定便」のいづれかの文字が入力されています。
なので、部分一致にしなくても

A5=IF(A2="お急ぎ便",A4,"")

でよくないですか?それとも他に文字がプラスされることがあるのですか?

QINDIRECT関数の代替方法は?

先に本スレッドで下記数式を教わり問題を解決することが出来ました。
  =SUM(INDIRECT("E"&MATCH("AAA",A:A,0)&":"&"E"&MATCH("AAA",C:C,0)))
ただ、このINDIRECT関数により、ブックに変更がなくても終了時にブックの保存の要否が尋ねられます。
これを回避するためにINDIRECT関数の使用を止めたいのですが、その方法をお教えいただきたくお願いします。

Aベストアンサー

ちょっと気になったので一言だけ。
別の人がこのシートを使って試算をしたとします。保存しなければいいやと思ってバッテンをクリックしたら「保存しますか」のメッセージが出ずに、いきなり保存されてしまいました。ってことのなりませんか。
ここは作業列を作ってシンプルな式で対応した方が安全な気がします。

Qエクセルについて。

次の数式を求める関数(下の方のプラン表)は、どんな数式を打てば良いのでしょうか?教えていただけると幸いです。

Aベストアンサー

単純な足し算ですよね。
添付画像のように作ったとして

[C8]=SUM($B$2,C$7,$B8)

これを[C8:F12]の範囲にコピーすればOK。

通常、数式のセルは、コピー貼り付けすると、移動先に応じてセルアドレスが変わってしまいますが、
「$」をつけることで、固定することができます。

上の式だと、どこに移動しても

$B$2 は B2 を参照するように固定される。

C$7 は 7行目 を参照するように固定される。
(式を下にコピーしても、7行目に固定される)

$B8 は B列 を参照するように固定される。
(式を右にコピーしても、B列に固定される)

ということになります。
$をつけて参照先を固定するのを「絶対参照」、
つけていない普通の場合は「相対参照」、
と言います。
より詳しいことは、このキーワードで検索して調べてみてください。

金額表示については、セルの書式から、
分類:通貨
記号:\
にしてあります。
実際のセルに「\」は入力されていません。

Q月末の自動計算

月末火曜日の日付をスタートとして稼働日数を求めたいと思っています。

10月なら9/25~10/30まで
11月なら10/30~11/27まで
12月なら11/27~12/25までの日数を計算したいです。

月末水曜日になると当月の日数に自動で計算が切り替わるよう計算することは可能でしょうか。

わかる方がいれば教えていただきたいです。
※土日は日数に含んでOKです。

Aベストアンサー

No1です

>先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?
はい。下に示しますように『今日』を対象に計算する式として作成してしまいましたので、12/5(=本日)は11/27(=最終火曜日)から数えて8日目という意味になります。
(シートが自動計算の設定になっていれば、明日になると9と表示されるはずです)

私の勝手な勘違いだったかもしれませんが、「今日が月末火曜日から何日目かを計算する」関数式として考えていましたが、対象が「今日」とは限らなかったのでしょうか?
その場合は、式中の「TODAY()」の部分を対象の日(=シリアル値)に置き換えればそのまま同じ計算が可能なはずです。
例えば、対象の日がA1セルに入力されているとするなら、TODAY()を全てA1に置き換えればよいといった感じです。

>ただ、水曜日になったら前日の火曜日分も含めて計算してほしいです。
翌日の水曜日を2日目と計算したいという意味でしょうか?
(No1の説明を読んでいただければわかりますが)現在の式は、水曜日は1(日目)と表示される式になっています。
修正したい場合は、No1の式より常に1日多い値になれば良いだけなので、式の最後に「+1」を加えれば、お求めの結果になると思います。

>とても複雑な回答で解読できなかったので教えていただけると幸いです
式は少々長いですが、全体としての構成は、単純にIFで場合分けした式になっています。
ご参考までに、大雑把な構成を言葉で示すならば・・・
『対象日(今日)がその月の最終火曜日より前なら、前月の最終火曜日からの日数を数え、後ならその月の最終火曜日からの日数を数える』
という式になっています。

No1です

>先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?
はい。下に示しますように『今日』を対象に計算する式として作成してしまいましたので、12/5(=本日)は11/27(=最終火曜日)から数えて8日目という意味になります。
(シートが自動計算の設定になっていれば、明日になると9と表示されるはずです)

私の勝手な勘違いだったかもしれませんが、「今日が月末火曜日から何日目かを計算する」関数式として考えていましたが、対象が「今日」とは限らなかったのでしょう...続きを読む

Q月初め 1日から各月の月末の日

D1には 2019/1/1と AAに1と入力してあります。

Y1=DATE(YEAR(D1),MONTH(D1)-1,AA1)
2018/12/1 ←【ここを 2019/1/1と表示をしたいです】

Y2==DATE(YEAR(D1),MONTH(D1),AA1-1)
2018/12/31←【ここを 2019/1/31と表示をしたいです】月の末日です。

【】内のようにしたいのですが
Y1とY2の式を教えて下さい。

Aベストアンサー

こんにちは

なんだか説明がよくわかりませんけれど、勝手に解釈して、
D1セルに日付(シリアル値)があるときに、その月初と月末の日を求めたいってことでしょうか?
 【月初】 =EOMONTH(D1,-1)+1
 【月末】 =EOMONTH(D1,0)
(式を設定したセルの表示書式を日付にしておくこと)

上記以外の途中の日を求めたければ、月初の式に(求めたい日数-1)を加算すれば良いです。

QC列に何か入力が合った場合B列に通し番号を

B   C
3 1 あいう
4 2 かいう
5 3 かいう

C列に何かの文字(英数字等)の入力が合った場合は
B列B3を基点とする通し番号を付けたいのですが
また、C列が空白の場合はBも空白にしたいです。

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

Aベストアンサー

No1です

No1の式は、C列が空白の場合はカウントせずに、表示される数値が(行が飛んでも)連番となるようにしていました。
一方で、常に固定の連番があるものとして、C列が空白の場合は単にその番号を表示しないだけという意味でしたら、B3セルに
 =IF(C3="","",ROW(C1))
となります。

Qエクセル日付のみ抽出

エクセルの文章の途中の日付 ○/○ だけを抽出したいです。
左でも右でもなく文章の途中です。

お分かりの方いらっしゃいますか??

Aベストアンサー

こんばんは。

=MID(C2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},C2&1234567890)),LEN(C2)*10+1-SUM(LEN(SUBSTITUTE(C2,{0,1,2,3,4,5,6,7,8,9},))))

このように、LEN(C2)*10+1 ←と1を足せば、8/31 の場合、8/3 しか出ないのは直るのですが、

8/ までしか出ない場合は、特例で、空白が紛れ込んでいるので、例えば、原文をマウス選択して、「検索/置換」で、検索値に、半角スペースを置き、置換側は何もいれないようにして、実行すれば、半角のスペースを取り去れば、8/ までしか出ない場合も、出るようになります。

QExcel データ抽出 日付 1900/1/0 1月0日

以前にどなたかが、質問の回答としての関数式をそのまま使っていますが一つだけ問題があります。
詳しい方よろしくお願いします。
Sheet1に年間データがあります。そこからSheet2へE1セルで月を指定して月単位でデータを抽出しているのですが
1月だけ抽出データの最後に、1900/1/0をひろってしまいます。書式を変えても1月0日をひろいます。他の月は空白を返してくれるのですが、1月だけは、書式コピー分すべて1900/1/0を返してきます。文字列や数値は大丈夫です。日付だけです。対処法お願いします。
なんとなくしか理解出来ていない、わたしですいません( ノД`)シクシク…

Sheet1 抽出作業列 F列  
=IF(OR(Sheet2!E$1="",MONTH(A2)<>Sheet2!E$1),"",ROW())

Sheet2 抽出列 A~E列 A列日付
=IF(COUNT(Sheet1!$F:$F)<ROW(E1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$F:$F,ROW(E1))))
よろしくお願いします。

以前にどなたかが、質問の回答としての関数式をそのまま使っていますが一つだけ問題があります。
詳しい方よろしくお願いします。
Sheet1に年間データがあります。そこからSheet2へE1セルで月を指定して月単位でデータを抽出しているのですが
1月だけ抽出データの最後に、1900/1/0をひろってしまいます。書式を変えても1月0日をひろいます。他の月は空白を返してくれるのですが、1月だけは、書式コピー分すべて1900/1/0を返してきます。文字列や数値は大丈夫です。日付だけです。対処法お願いします。
なんと...続きを読む

Aベストアンサー

こんにちは

>1900/1/0をひろってしまいます
実際にそのようなデータがあるのなら、関数の機能としては間違いではないと思いますが、多分、「空白」セルが抽出されていて、結果的にそのような表示になっているのではないかと推測します。

セルの位置関係や内容(意味)がご質問文だけではよくわからないので、半分は想像ですが・・・
>Sheet1 抽出作業列 F列  
>=IF(OR(Sheet2!E$1="",MONTH(A2)<>Sheet2!E$1),"",ROW())
A列に対象とする日付が並んでいて、その範囲内に空白セルが混在しているものと推測します。
(1月を抽出する際に、空白セルの行のF列に抽出用の行番号が表示されているのではないでしょうか?)

対策として、A列が空白の場合はピックアップしないように、式内のORに条件を追加すればよいのではないかと思います。
具体的には
 =IF(OR(Sheet2!E$1="",A2="",MONTH(A2)<>Sheet2!E$1),"",ROW())
といった感じ。

(半分は想像ですので、当たるも八卦です。悪しからず)

こんにちは

>1900/1/0をひろってしまいます
実際にそのようなデータがあるのなら、関数の機能としては間違いではないと思いますが、多分、「空白」セルが抽出されていて、結果的にそのような表示になっているのではないかと推測します。

セルの位置関係や内容(意味)がご質問文だけではよくわからないので、半分は想像ですが・・・
>Sheet1 抽出作業列 F列  
>=IF(OR(Sheet2!E$1="",MONTH(A2)<>Sheet2!E$1),"",ROW())
A列に対象とする日付が並んでいて、その範囲内に空白セルが混在しているものと推測し...続きを読む


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

人気Q&Aランキング

価格.com 格安SIM 料金比較