
No.1ベストアンサー
- 回答日時:
エクセルには「最後の該当」を検索する関数はありません。
無駄に複雑な数式を駆使すればもちろん「やればできます」が、添付図のようにちょっと工夫するだけで、普段使いの数式だけでやっつけるのがお勧めです。
A2:
=IF(OR(C2="",COUNTIF($C$2:C2,C2)<COUNTIF(C:C,C2)),"",C2)
以下コピー
答えは簡単なVLOOKUP関数を使うだけです。
H2:
=IF(COUNTIF($A:$A,$G2),VLOOKUP($G2,$A:$E,2,FALSE),"")
まぁ一応ご参考に作業列を使わない方法:
H2:
=IF(COUNTIF($C:$C,$G2),INDEX(B:B,MAX(IF($C$2:$C$999=$G2,ROW($C$2:$C$999)))))
と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力する
説明は省略しますので、ブラックボックスで使ってください。

No.4
- 回答日時:
配列数式や複雑で分かりにくい数式は計算に負担がかかります。
出来るだけやさしく処理するためには作業列を作って対応することです。
作業列が目障りでしたらその列を選択して右クリックし、「非表示」を選択すればよいでしょう。
お示しの表がシート1に有ってA1セルからD1セルには項目名が日付、社名、品名、個数と並んでいます。
E2セルには次の式を入力して下方にドラッグコピーします。
=IF(B2="","",IF(COUNTIF(B$2:B2,B2)=COUNTIF(B:B,B2),B2,""))
お望みの表をシート2に表示させるとしてA1セルには社名、B1セルには日付、C1セルには品名、D1セルには個数と入力します。
シート2のA2セルから下方には社名を入力します。
B2セルには次の式を入力して右横方向にD2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。
=IF($A2="","",INDEX(Sheet1!$A:$D,MATCH($A2,Sheet1!$E:$E,0),IF(COLUMN(A1)=1,1,IF(COLUMN(A1)>=2,COLUMN(A1)+1))))
最後にB列のデータはシリアル値になっていますので日付の表示形式に変えます。
わかりやすいご説明有難うございます。
COLUMN関数がよくわからなかったので勉強しました。
ひとつ賢くなりました。
有難うございました。
No.3
- 回答日時:
こんにちは!
一例です。
↓の画像でF列の社名は入力済みだとします。
G2セルに
=MAX(IF(B$1:B$100=F2,A$1:A$100))
これは配列数式になりますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合はG2セルに貼り付け後、数式バー内で一度クリック!
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
次にH2セル(配列数式ではありません)に
=INDEX(C$1:C$100,SUMPRODUCT(($B$1:$B$100=$F3)*($A$1:$A$100=$G3)*ROW($A$1:$A$100)))
という数式を入れ隣のI2セルまでオートフィルでコピー!
最後にG2~I2セルを範囲指定 → I2セルのフィルハンドルで下へコピーで
画像のような感じになります。
尚、エラー処理はしていません。m(_ _)m

No.2
- 回答日時:
重複のない社名一覧の抽出を含めて、すべて関数だけで各社名の一番下の行を表示したいなら以下のような関数を使うことになります(セル位置は添付画像参照)。
G2セル(重複のない社名の抽出)
=INDEX(B:B,SMALL(INDEX((MATCH($B$2:$B$100&"",$B$2:$B$100&"",0)<>ROW($B$2:$B$100)-1)*1000+ROW($B$2:$B$100),),ROW(A1)))&""
F2セル(日付:セルの表示形式を日付に設定)
=IF($G2="","",INDEX(A:A,MAX(INDEX(($B$2:$B$100=$G2)*ROW($B$2:$B$100),))))
H2、I2セルはF2セルの数式をコピー貼り付け(セルの書式を「標準」にする)。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
電子書籍プレゼントキャンペーン!
最大2万円超分当たる!マンガや小説が読める電子書籍サービス『Renta!』で利用できるギフトコードプレゼント実施中!
-
条件に一致する最終行の値をエクセル関数で抽出する方法
Excel(エクセル)
-
Excel MATCH関数で検索範囲内に同じ値の検索値が複数ある場合
Access(アクセス)
-
値が入っている一番右のセル位置を返す方法
Excel(エクセル)
-
4
VLOOKUP関数で、一番下の値を拾うには?
Excel(エクセル)
-
5
エクセルで条件に一致したセルの隣のセルを取得したい
その他(Microsoft Office)
-
6
条件に合った最初の行番号を表示したい。
Excel(エクセル)
-
7
エクセルで、指定の値よりも大きい数字を最初に越えたときの列番号を返すには?
Excel(エクセル)
-
8
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
9
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
10
【Excel】条件を満たした最下行の値を表示
Excel(エクセル)
-
11
Excel関数で、範囲内の最後のセルを得る方法
Excel(エクセル)
-
12
セル番号を返す関数
Excel(エクセル)
-
13
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
14
エクセル 関数 下から一番最初の行番号
Excel(エクセル)
-
15
【エクセル】範囲内の空白ではない一番下のセル
Excel(エクセル)
-
16
エクセルの質問。 対象範囲の中で、一番下に位置する値を返す関数。
Excel(エクセル)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
初めて0以外の数値が出てきたときの値を表示(EXCEL)
Excel(エクセル)
-
19
エクセルで左から、最初に0より大きい値を抽出したい
Excel(エクセル)
-
20
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
エクセルの2ページ目の作り方
-
5
エクセルで、変な矢印がでて、...
-
6
あるセルに特定の文字列を打つ...
-
7
VBA オリジナル関数で選択セル...
-
8
Excel 書式を関数で判断。
-
9
セル入力文字が、「右のセルに...
-
10
Excelで隣のセルと同じ内容に列...
-
11
エクセルの画面で十字マークが...
-
12
EXCELで2列を参照し、重複する...
-
13
エクセルのセル内に全角数字を...
-
14
VBAで保存しないで閉じると空の...
-
15
EXCELで2つの数値のうち大きい...
-
16
エクセルで表示形式の時刻の「0...
-
17
(Excel)あるセルに文字を入力...
-
18
グラフの横・縦項目が全部表示...
-
19
値が入っているときだけ計算結...
-
20
Excel処理について、教えて下さ...
おすすめ情報
公式facebook
公式twitter