わかりにくい説明に恐縮しております。
ご教示頂けますと幸いです。
B列の数字を空セル①に入力する
空セル①(例えばC列のどれかのセル)に入力した「数字(B列の数字)」からC列にある「「数字(B列の数字)」と同じ数字(C列の数字)」もしくは「「数字(B列の数字)」に近くて大きい数字(C列の数字¥)」を空セル②に出力。
例:B18の数字71200の場合、C14の数字72000が表示される
B19の数字72000の場合、C14の数字72000が表示される
空セル②で表示された数字からA列の番号を空セル③に表示
という事をしたいのですが、、、
お分かりになりますでしょうか?
何卒よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
No.3です。
前回回答でEXCEL的アプローチもあると書きました。
その例をお示しします。
>空セル①に入力した数字(B列の数字)からC列にある数字(B列の数字)
>と同じ数字(C列の数字)もしくは数字(B列の数字)に近くて大きい数字
>(C列の数字)を空セル②に出力。空セル②で表示された数字からA列の
>番号を空セル③に表示
ということは、ご質問者がNo.1さんへのお礼で「検索値以上で最も小さい値に・・・」と仰っているように「C列の数値のうち①以上で最も小さい数値を②に出力する」という意味と同じです。
添付画像をご覧ください。
①をE2,②をF2,③をG2としています。A列~C列は100行目までデータがあるものとします。
F2に「C列の数値のうち①以上で最も小さい数値」を表示する数式は
=AGGREGATE(15,6,C4:C100/(C4:C100-E2>=0),1)・・・(a)
という数式になります。
(a)の数式は
=AGGREGATE(15,6,配列,1)
という数式になっており、配列を昇順に並べたとき1番目の数値を表示することになります。ここで、配列つまり「C4:C100/(C4:C100-E2>=0)」の部分はC列のC4:C100の範囲のうち①以上つまりE2以上であるという条件を満たす数値の集まりを意味します。この集まりの中で昇順の1番目の数値は「C列の数値のうち①以上で最も小さい数値」になります。
③は前回回答数式のままでもOKですが、(a)の数式により②が表示されますので、②つまりF2が求められているので、
=MATCH(F2,C4:C100,0)・・・(b)
という数式にすることもできます。
No.3
- 回答日時:
このご質問はご質問者の過去のご質問から推測すると、
A列A4セル以下に1からの自然数がありこれをnとする。B列B4セル以下に60000+(n-1)×800、C列C4セル以下に60000+(n-1)×1200が、夫々入力されている。B4セル以下のn番目の数値を指定し、その数値以上の最も近い数値をC4セル以下から見つけたとき、これがC4セル以下m番目の数値だとすると、mをnの関数として表せ。
という数学的アプローチで解決できると思います。
「但し、EXCELの関数を使用してよい」という注釈がつくだけです。
800と1200の最小公倍数は2400です。ですから「nが3つ進む」と「mが2つ進む」のと増加分が一致するので、なんとなくnを3分の2にすればmが求められる気がします。
そこで、m=(2n+1)÷3・・・(a)
としてみるとn=1,2,3,4,5,6,7,・・・のときm=1,1.666・・・,2.333・・・,3,3.666・・・,4.333・・・,5,・・・となります。
nが1,2,3,4,5,6,7・・・と進むとmは1,2,3,3,4,5,5と進むことになりますから、(a)の数式の結果を全て、小数点以下を切り上げしてやればよさそうです。すると、
m=ROUNDUP((2n+1)/3,0)・・・(b)
となります。
添付画像をご覧ください。
ご質問では「空セル①にB列の数値を入力」との説明で、条件に合致するC列の数値を空セル②に表示することになるので、画像では①をE2セル、②をF2セルとしています。
(b)の数式は空セル③の数式ですから、まずE2セルからnを求めます。
B列はB4セルから始まっているので、n=(E2-$B$4)/800+1となるはずです。これを(b)に代入すると
m=ROUNDUP((2*((E2-$B$4)/800+1)+1)/3,0)
=ROUNDUP(((E2-$B$4)/400+2+1)/3,0)
=ROUNDUP(((E2-$B$4)/400+3)/3,0)
=ROUNDUP((E2-$B$4)/1200+1,0)・・・(c)
となりますので、これを③の数式にます。画像でG2を③にしています。
よく見ると(c)の数式は①と開始値(60000)との差を1200で割ってC4からどれだけ離れるかを計算する数式になっていることが判ります。A4の開始値が0ではなく1なので、+1になっている訳です。
③が求められれば、②はVLOOKUP関数で求めればよいので、F2に
=VLOOKUP(G2,$A:$C,3,0)
を入れています。
なお、①は手入力だとすると入力ミスも考えられますが、上記数式では入力ミス対策はしておりません。このため、B列に存在しない値を入力した場合、結果が保証されないことになります。従って、E2セルは入力規則でリストを選択しB4セル以下の範囲を指定しておくことをお勧めします。
なお、このような数学的アプローチとは異なるEXCEL的アプローチも当然存在します。
余談ですが、ご質問者は同じご質問を複数回繰り返しておられます。
https://oshiete.goo.ne.jp/qa/13784249.html
https://oshiete.goo.ne.jp/qa/13785056.html
https://oshiete.goo.ne.jp/qa/13785177.html
このような行為はマルチポストと呼ばれマナー違反です。再投稿するときは、まず、前の質問をクローズするようにしましょう。
以下URLの投稿ガイドラインをお読みください。
https://blog.goo.ne.jp/oshietegoo/c/2fd47a043646 …
No.2
- 回答日時:
C列の値は6万から始まって1200ずつ増えてるので、B列から任意の値を選んだら「1200単位で切り上げ」すれば、検索しなくても選んだ値以上の最小値になるでしょう。
空きセル② =ceiling(空きセル①, 1200)
真面目に検索する場合、match関数やlookup関数では「検索値以下の最大値」しか探さないので、xlookup関数を使います。
空きセル② =xlookup(空きセル①, C列の範囲,"",1)
空きセル②に計算された値がC列の範囲で上から何番目なのかは、match関数で一撃です。
空きセル③ =match(空きセル②, C列の範囲,0)
まじめにA列を返す場合は、vlookupでは右端の列しか探さないのでxlookup関数を使います。
空きセル③ =xlookup(空きセル②, C列の範囲,A列の範囲)
No.1
- 回答日時:
VLOOKUP関数を使えばいい。
そんだけの事です。
VLOOKUP関数の使い方を確認してください。
4番目のパラメータに ”1” または ”TRUE” を指定するか、何も指定しない(初期値で TRUE が選択される)と、検索値に対応する値を返すか、検索値が無い場合は検索値未満で最も大きい値に対する値を返します。
ただし検査値は昇順(小さい順)で並べられている必要があります。
質問のケースでは検索範囲と返す値の範囲が同じになるので、
3つ目のパラメータは ”1” になります。
2つ目のパラメータは C列 ですね。
もちろん1つ目のパラメーターは 空白セル① になります。
数式は 空白セル② に書きましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Visual Basic(VBA) VBAを使用した時間管理 4 2024/03/25 12:45
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- Excel(エクセル) エクセルのIF関数について 5 2023/09/10 08:48
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Excel(エクセル) エクセルの数式で教えてください。 4 2024/03/18 14:17
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Visual Basic(VBA) 先頭と末尾を指定して連続した数字を入力 1 2022/09/14 13:12
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
[関数得意な方]教えて下さい・・[困ってます]
Excel(エクセル)
-
Excel初心者です。 詳しい方、効率の良いやり方を教えてください。 職場で、抽出したデータの表を見
Excel(エクセル)
-
エクセル関数に詳しい方教えてください
Excel(エクセル)
-
-
4
エクセルの神よ、ご回答を! エクセルのコメント欄について質問2点。
Excel(エクセル)
-
5
Excelで写真のような表を作った時、毎月鍵の所有者が変わります。所有者が毎月変わるため表が右に伸び
Excel(エクセル)
-
6
EXACT関数とIF関数の組み合わせについて
Excel(エクセル)
-
7
[オートフィルタ]の適用範囲の確認は可能か?
Excel(エクセル)
-
8
スマートな関数を教えて下さい。
Excel(エクセル)
-
9
Excelはなんで先頭の0を消すんですか?しかもCSVとかもなんでそもそも勝手に元のデータ変えるのに
Excel(エクセル)
-
10
Excelで「時間の足し算」はどうすればいいですか?
Excel(エクセル)
-
11
Excelの入力方法について
Excel(エクセル)
-
12
エクセルの表示について
Excel(エクセル)
-
13
エクセルでチェックボックスを一列にたくさんつくり、各行にリンク先のセルを設定する場合、どのようにした
Excel(エクセル)
-
14
自動入力で今月はMONTH(TODAY())で良いのですが、翌月はどのようにすれば良いでしょうか。
Excel(エクセル)
-
15
4つのパターンを表示するEXACT関数について
Excel(エクセル)
-
16
INDIRECTを使わず excelで複数シートの同じセルを抽出したい
Excel(エクセル)
-
17
【関数】スペースがいくつ入った後の文字列を取り出したい
Excel(エクセル)
-
18
excel で二つのどちらかを選ぶ
Excel(エクセル)
-
19
式の解読のお願いm(_._)m
Excel(エクセル)
-
20
Excelにてある膨大なデータを管理しています。 そこで、特定の市町村にのみ色を付けたいです。 Ex
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
スペースとスペースの間の文字...
-
エクセルで曜日に応じた文字を...
-
Excelで、複数条件で抽出した複...
-
列の数字に100をかけたい
-
エクセルでセルの値分の個数の...
-
エクセル:横長の表を改行して...
-
【Excel】での計算式教え...
-
Excel上でのデータ数字が連番で...
-
エクセル関数に詳しい方教えて...
-
別のセルに値が入力されたら、...
-
エクセルで小数を含む数値の抽出
-
Excelで2tan(π/4-θ)のグラフを...
-
EXCELのハイホン区切りの数字並...
-
Excelのセル内文字の並び替えに...
-
【EXCEL】指定したセルの値を他...
-
時間を「昼間」と「夜間」に分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
Excel上でのデータ数字が連番で...
-
列の数字に100をかけたい
-
スペースとスペースの間の文字...
-
別のセルに値が入力されたら、...
-
エクセルで表示されている数字...
-
エクセルでセルの値分の個数の...
-
エクセル:横長の表を改行して...
-
[関数について]わかる方教えて...
-
エクセル関数に詳しい方教えて...
-
エクセルで、毎日の走行距離(...
-
エクセルのsumifでかけ算してか...
-
HYPERLINKとADDRESSとMATCHの組...
-
エクセルで曜日に応じた文字を...
-
入退社日より各月末の在籍者数...
-
エクセルで1列全部10倍したい
-
エクセルで小数を含む数値の抽出
おすすめ情報