![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (12件中1~10件)
- 最新から表示
- 回答順に表示
No.12
- 回答日時:
#3の数式はたまたま上手くいくだけなので止めといた方がいいです。
データ量や一致する値の位置によっては正しく答えを返しません。
それは置いといて バージョン不明ですが最新と仮定するなら
B18
=XLOOKUP(A18:A20,A2:A15,C2:C15,"",0,-1)
でいいです。
No.11
- 回答日時:
古いバージョンでも利用できる数式を考えてみました。
ご質問者のご要望は、各名前ごとの現在の在庫数を表示させたいとのことなので、投稿された画像が判断すると、各名前のグループの最終行の在庫数を返す関数を作ればよいことになります。
すでにご回答いただいたものの中にはA列に連続番号を振って、各グループの最終行(最大行番地)を求める方法もありますが、行番地はROW関数で求められますので、A列に連番を設けなくても
B18に
=INDEX($C$1:$C$15,MAX(INDEX(($A$2:$A$15=A18)*ROW($A$2:$A$15),,0)))・・・・・・①
という関数を記述し、オートフィルで下方向へコピーすることで対応可能です。
上記の数式で
INDEX(($A$2:$A$15=A18)*ROW($A$2:$A$15),,0)の部分は
A列がA18に等しければ1、そうでなければ0を返す配列と行数を掛けて生成される配列です。INDEX関数は列数を0とすると行全体を返すという性質を利用します。
つまり、この配列は2;3;4;5;6;0;0;0;0;0;0;0;0という配列になるわけです。
MAX(INDEX(($A$2:$A$15=A18)*ROW($A$2:$A$15),,0))の部分で各グループの最終行番地を求めます。
行番地が判明したので、在庫数が表示されているC列の当該行番地のセルの値を返せば、この課題は解決することになります。
そこで、①の式になるわけです。
ここで、INDEXの対象範囲のC列は、データのある$C$2からではなく、セル番地の行数1行目から数えるため、$C$1から範囲指定します。
No.10
- 回答日時:
#7です。
在庫積み増しなど想定していませんでした。
最新バージョン365ですが。
#8の回答者さんのように連番の列を挿入可能なら、
A列(連番)B列(名前)C列(在庫数)とし、
A列に連番を1~15(添付されている図を例として)
B18のセルに
=XLOOKUP(MAX(INDEX(FILTER($A$2:$D$15,$B$2:$B$15=A18,""),,1)),$A$2:$A$15,$D$2:$D$15)
でいかがですか。
これなら、商品毎の範囲を使って設定の必要はありません。
No.9
- 回答日時:
No.3の回答者です。
VLOOKUP関数を使った方法について、補足です。
[名前]をVLOOKUP関数では[検索値]にしているので、この関数での
省略している[検索の型]が[ TRUE ]となっています。
https://support.microsoft.com/ja-jp/office/vlook …
https://office-hack.com/excel/vlookup/
この設定だと、[名前]の列は昇順でないと正しく値を示しません。
今回の質問だとABCの昇順名なので問題ないですが、漢字などでの
名前を使っている場合は注意が必要です。
読みとしての昇順ではなく、文字コードでの昇順にしておかないと、
値が別の名前のものになる場合があります。
それと、範囲についてもC名の範囲が増えたときに、行を挿入しても
範囲は拡張されません。
手動で範囲を増やすか別方法で対応します。
https://excel-ubara.com/excel3/EXCEL016.html
このような設定については、別質問されると丁寧な回答が新規に付く
と思います。
No.8
- 回答日時:
最左(連番部分)A列・・・B列=商品名、C列=出庫数、D列=在庫数
Aにかかる部分の関数
=IF(D2="","",A1+1)・・・A1は空白 (または0)=
IF(D3="","",A2+1)=
IF(D4="","",A3+1)=IF(D5="","",A4+1)以上で在庫表示が無ければ連番は表示されません(連番の最大数の行の在庫が最終の在庫になります)
Aの残り在庫表示部分の関数
=VLOOKUP(MAX(A2:A5),A2:D5,4) (Aの在庫表示セルがD列5行目までの場合、10行でも20行でも拡張可能です、入庫、出庫の記入の都度自動的に変更されます)
これで、在庫積み増しに対しても対応可能になります
例 E列に新規入庫数の欄として数値を入力、D列(在庫)の数式にE列の数値をプラスします
※通常見かけるのは、(連番A列)商品名B列、入庫C列、出庫D列、差し引き在庫E列
これの場合もほぼ同様に使えますが範囲指定がAからEまでになり、ルックアップの位置指定が4では無く5になります(A、B、C、D、Eの在庫は5列目になりますね)
こんな形の時は商品毎に別シート、最終在庫表示シートも、別シート?で範囲指定の場合は該当のシート名に続けて範囲指定する形になります(例 シート名を「商品A」とすれば、商品A!A2..D6)
NIN関数使用の場合(在庫積み増しには対応できません)
=MIN(D1:D5) (Aの在庫表示セルがD列5行目までの場合)
※D列(在庫表示)の最小の数値が表示されます
以上どちらの場合も
商品毎の範囲を使って設定の必要が有ります
No.7
- 回答日時:
#3にて回答がでているようですが、(なぜそうなるかは分かりません)
B18に
=MIN(INDEX(FILTER($A$2:$C$15,$A$2:$A$15=A18,""),,3))
でどうですか。
ちなみにExcelのバージョンが書かれていないので
最新バージョン365ですが。
No.6
- 回答日時:
>VLOOKUP($A18,$A$2:$C$15,3)
検索値$A18=A→(すぐ下にコピーすれば$A19=B)
範囲A2からC15でセルの値がAを検索?、でも複数ありますね、楯列3番目の数値、例の場合は、5つの数値がありますね、たぶん不能、です。
No.5
- 回答日時:
NO2
訂正
A列の前に列挿入、昇順場番号入力ではだめですね。
同じ行のC列が空白ならば、一つ上の数値+1、そうでければ空白、のIf関数が必要です。
それはそうと、例示の表だけ見ればC列の在庫数は減る一方ですね、であればA商品にかかるC列すべてを範囲指定して最小の数値を表示させる関数でも間に合いそうですが
MIN関数、範囲C2..C6、これでC列6行目までで最小の数値がB18に表示されます。
No.4
- 回答日時:
[No.3]へのコメント、
》 何故、これで可能なのかはわかりません。
》 有識者からのアドバイスがあれば、知りたいですね。
ビックリポン!同感!私も知りた~い!
ひょっとしてバグ?
MSは知らぬ存ぜぬの頬被り?
No.3
- 回答日時:
こちら↓でも可能なようです。
=VLOOKUP($A18,$A$2:$C$15,3)
何故、これで可能なのかはわかりません。
有識者からのアドバイスがあれば、知りたいですね。
出荷数がマイナス(入荷の場合など)になっても最終行の値になって
くれるようです。
離れた別列だったり、別シートでも一応可能なようです。
![「条件に一致する最終行の値をエクセル関数で」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/d/190948_5fc05a505b2ff/M.png)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) Excel セルの数値を参照させるにはどうすれば良いですか? 4 2022/08/28 16:50
- Excel(エクセル) エクセル関数教えてください 3 2022/06/21 10:22
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) エクセルで納品書を作成中ですが、関数を教えて下さい。 2 2022/09/05 10:32
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) Excelについて質問があります。 関数の数値入力についてなのですが、 b1にー c1に数値 がある 2 2023/05/28 12:30
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Excelで、条件と一致する最後のセルを検索したい
Excel(エクセル)
-
VBA データ(特定値)のある最終行を取得したい
Excel(エクセル)
-
【Excel】条件を満たした最下行の値を表示
Excel(エクセル)
-
-
4
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
5
エクセルの質問。 対象範囲の中で、一番下に位置する値を返す関数。
Excel(エクセル)
-
6
Execelで列の検索に関する質問、最終行から2番目を見つけたい
Excel(エクセル)
-
7
VLOOKUP関数 最下行取得方法
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
Excel関数で、範囲内の最後のセルを得る方法
Excel(エクセル)
-
10
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
11
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
12
エクセルで、条件に合うセルのうち最も上の行の行数を返す方法
Excel(エクセル)
-
13
EXCELの条件付き書式で数式を空白と認識してくれる方法
Excel(エクセル)
-
14
条件付き書式で最終行に線を引きたい
Excel(エクセル)
-
15
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
16
Excelのmatch関数エラー原因が分かりません
Excel(エクセル)
-
17
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
18
Excel 条件によって入力禁止にする
Excel(エクセル)
-
19
条件付書式で「=#N/A」に色を付けたい
Excel(エクセル)
-
20
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
-1234 を (1234) と表記する由...
-
エクセルで現場ごとに機材の移...
-
他部署からもらう データで、 ...
-
Excel 1の位の数字で処理を分岐...
-
Excelのセルの色を変えた行(す...
-
エクセルの数式について教えて...
-
Excelでの記号と特殊文字につい...
-
とびとびの大量セルを選択した...
-
MACにおけるエクセルの入力トラ...
-
ある表にフィルターをかけて出...
-
Lookup関数
-
エクセルの数式バーのフォント...
-
再質問です。マクロの修正箇所...
-
エクセルで「ページレイアウト...
-
EXCELの散布図で日付が1900年に...
-
【マクロ】VLOOKUPにて参照元に...
-
exselの質問です
-
エクセルでファイルの最終更新...
-
Excel 大小比較演算子による「...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報