質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

1回答

20371閲覧

複数条件でかつ日付が新しいデータを抽出

SatokoH

総合スコア9

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2021/10/31 06:43

Excel関数のことで恐縮ですが、以下のことを行いたい場合につきまして、ご教示をお願いいたします。
(まだExcelのバージョンが2016 になります)

下記A~D列のデータがあり、F2とG2 の条件を満たす明細の最新日付の「伝票番号」をH2に抽出したく、
また該当がない場合は「該当なし」と表示させるにはどのような関数式を使用すればよろしいでしょうか。

例の場合、チームが1で、収支先がA の場合の最新日付は2021/1/7 なのでその伝票番号「a7」を抽出して
H2 のセルに入力させる。もしチームが1で、収支先がEなどのように見当たらない場合はH2セルに「該当無し」と表示させる

1.最新の日付は以下で取得できましたが、伝票番号や”該当無し”はできず。
DMAX(A:D,C1,F1:G2)

2.該当がない場合、以下の式を追加すると該当ありの場合に正しく表示されませんでした。
=IF(DMAX(A:D,C1,F1:G2),0,"該当無し")

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

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

H2セルに下記を入力します。

=INDEX(SORT(FILTER(C:D,(A:A=F2)*(B:B=G2)*(A:A<>""),{"該当なし",0}),2,-1),1,1)

・FILTER関数がない古いバージョンのエクセルの場合:
(1)F列を選択して、新たに1列挿入します。
(結果、既存のF列~H列は、G~Iに移動しているものとします)

(2)セルE2に下記の数式を入力し、E3以降下方向にコピーします。

=IF(AND(A2=$G$2,B2=$H$2),C2)

 
(3)セルF2に下記の数式を入力し、F3以降下方向にコピーします。

=D2

 
(4)セルI2に、下記の数式を入力します。

=IFERROR(VLOOKUP(MAX(E:E),E:F,2,0),"該当なし")

※いずれの場合も、C列の書式が日付形式であることが前提です。

投稿2021/10/31 07:00

編集2021/10/31 08:40
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SatokoH

2021/10/31 07:50

ご教示いただきましてありがとうございます。 Filter関数が使用できないバージョンの場合、代用できる関数はありますでしょうか。
退会済みユーザー

退会済みユーザー

2021/10/31 08:02

追記しました。(FILTERをそのまま置き換える関数は存在しません)
SatokoH

2021/10/31 08:17

ありがとうございます。何度も申し訳ございません。 この場合、伝票番号を抽出したい場合は、追加でどのような関数を組めばよろしいでしょうか。
退会済みユーザー

退会済みユーザー

2021/10/31 08:40

修正しました。
SatokoH

2021/10/31 08:48

ありがとうございます。とても助かりました。 いろいろ勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問