エクセルの表が下記のようになっていて、18というをあるセルに入力した場合、表中の直近上位の数値のタイトルを選ぶようにしたいのですが、可能でしょうか?

つまり 18 なのでタイトル B を選びたいのです。

タイトル  数値
A      15
B      25
C      33
D      45

IF文で以上や以下を使用すれば作れるのですが、もっと簡単にできるのではないかと思っています。

A 回答 (2件)

>IF文で以上や以下を使用すれば作れるのですが、もっと簡単にできるのではないかと思っています。


 ⇒タイトル数が4つ程度なら、IF関数がすっきりしている。
  IF関数のネスト数に規制(8連)があるのでこれを超える場合として以下の方法は如何でしょうか。
  仮に表範囲をA1:B5、見出し行あり、数値列は昇順、C2に数値入力としています。
=IF(C2<>"",OFFSET($A$2,IF(C2>$B$5,COUNT($B$2:$B$5)-1,SUM(INDEX(($B$2:$B$5<C2)*1,))),),"")

 因みに4つだけならIF分の方が簡単です。
 =IF(C2="","",IF(C2<=15,"A",IF(C2<=25,"B",IF(C2<=33,"C","D"))))
    • good
    • 0

=IF(E2="","",INDEX(A2:A5,COUNTIF(B2:B5,"<"&E2)+1))


などのように。
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

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

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

QExcel2003を使っています。表の中に文字を入力しました。1マスの表の中に2行で文字を入力したいのですが方法が分かりません。

Excel2003を使っています。表の中に文字を入力しました。

1マスの表の中に2行で文字を入力したいのですが方法が分かりません。

1マスの表の中で1行目を入力してEnterを押すと次の表に飛びます。

2行目が入力できません。

ご存知の方教えてください。

Aベストアンサー

Altを押しながらEnterを押してください
セル内で改行できます

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

QHTMLで表を横並びにしたくて、下記のような表を作りました。

HTMLで表を横並びにしたくて、下記のような表を作りました。
この表をもう一つ右隣に作りたいのですが、どうもうまくいきません。
何を付け足せば横に並んでくれるのでしょうか?

<table style= width="500" bgcolor="#007500" cellspacing="1" cellpadding="5">
<tr>
<td bgcolor="#e5ffe5" width="120"><font color="#000000"><strong><a href="紹介したURL">ああああ</strong></font></td>
<td bgcolor="#ffffff"><font color="#000000"><strong>ああ<br></strong></font></td>
</tr>
<tr>
<td bgcolor="#e5ffe5"><font color="#007500"><strong><a href="紹介したいURL">ああああ</a>
</strong></font></td>
<td bgcolor="#ffffff"><font color="#000000"><strong>ああ<br></strong></font></td>
</tr>
<tr>
<td bgcolor="#e5ffe5"><font color="#000000"><strong><a href="index.html"></strong></font></td>
<td bgcolor="#ffffff"><font color="#000000"><strong>あああああ</strong></font></td>
</tr>
</table><br>
</tr>

HTMLで表を横並びにしたくて、下記のような表を作りました。
この表をもう一つ右隣に作りたいのですが、どうもうまくいきません。
何を付け足せば横に並んでくれるのでしょうか?

<table style= width="500" bgcolor="#007500" cellspacing="1" cellpadding="5">
<tr>
<td bgcolor="#e5ffe5" width="120"><font color="#000000"><strong><a href="紹介したURL">ああああ</strong></font></td>
<td bgcolor="#ffffff"><font color="#000000"><strong>ああ<br></strong></font></td>
</tr>
<tr>
...続きを読む

Aベストアンサー

No1、No2です。

No2の例ではfloat:leftしか指定していないので、ブラウザの幅を縮めれば縦に並びます。
実は、そのようなレイアウトを指定しているからです。
(=幅を縮めたブラウザでも、そりあえずその幅の中に内容を表示する。)

いつも横並びにしたければ、それだけの幅を確保してあげればよいだけです。
CSSに body { width:900px; } のような1行を追加すれば、全体が900pxの固定幅になりますので、ブラウザの幅を縮めても横並びを保持するようになります。


No2に上げた参考サイトに、「本文の構成や内容はHTMLで、表現やレイアウトはCSSで」とあるように、(↑)の例ではHTMLソースを変更することなくCSSの修正で表示方法(見え方)を変えていることになります。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Qエクセルでセルに文字入力されてないと次のセル

エクセル2007で
セルが空欄の場合は次のセルに移動できないように設定したいです、
文字(数字)を入れると移動(ennter)できる様にしたいです、
色々探しましたがやりたいことが見つかりませんでした、
よろしくお願い致します。

Aベストアンサー

回答No2です。

例えばA2セルからF10セルを範囲として選択してから「データの入力規則」で、表示される画面の「設定」のタブから入力値の種類を「ユーザー設定」にして、その右側にある「空白を無視する」のチェックをとり、その後に数式の窓には次の式を入力します。

=$B2<>""

その後に同じ画面の「エラーメッセージ」タブをクリックしてエラーメッセージの窓には例えば次のような文を入力してOKします。

「同じ行のB列のセルが空白となっています。必ず入力してから操作を行ってください。」

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Qエクセル関数VLOOKUPの範囲の一部をセルで指定

ファイル名2103.XLSあるとして、その2103.XLSファイルとは別のファイル名集計.XLSに、その2103.XLSファイルから関数VLOOKUPでデータの値を返したい場合、式の範囲には普通は [2103.xls]Sheet1!$A$1:$B$10 と入力されますが、この範囲の一部分をセルで指定できないでしょうか。例えば、ファイル名集計.XLSのA1セルに文字列で"2103"と入力されているとしまして、式の範囲 [2103.xls]Sheet1!$A$1:$B$10 の2103部分を[A1.xls]Sheet1!$A$1:$B$10のような式は出来ないでしょうか。

Aベストアンサー

こんにちは。それでは説明します。
以下の二つの関数を組み合わせで作成できます。

ADDRESS(行番号, 列番号, 参照の型, 参照形式 , シート名)
 これは『セル参照値』を返す関数です。

INDIRECT(参照文字列, 参照形式)
 これはセル参照値に書かれた文字を返します。

エクセルのヘルプ内の『キーワ-ド』の欄に上記の関数を入れれば、使い方は分かりので、簡単に説明します。
ちなみに、実際にエクセルを開いて、エクセル操作しながら確認出来るように書きます。

1.まず、シート名 Sheet1 と Sheet2 を準備してください。
(まあ、新規作成で自動生成できると思います)

2.シート名「Sheet1」セル番地「A2」に  Sheet2  と書いてください。
(ここが、シート名をセル指定する箇所です)

3.「Sheet2 A10」に『エクセル』と書いてください。

4.「Sheet1 A1」に、こう書いてリターンキーを押してみてください。
=ADDRESS(10,1,,,A2)

  すると、こう出ませんでしたか? これはセル参照値ですね。
Sheet2!$A$10

5.「Sheet1 A3」に、こう書いてリターンキーを押してみてください。
=INDIRECT(ADDRESS(10,1,,,A2))

すると、こう出ませんでしたか?
『エクセル』

----------------
解説
=VLOOKUP関数は、『限られた範囲の中』で、『条件に合うもの』を抽出する関数ですね。

ところが、 
=INDIRECT(ADDRESS(A1,B1,,,C1))
と書くと、セル 「A1」行番号 「B1」列番号 「C1」シート名 に数字又は文字を入れることで、無限の範囲を指定できます。
これはとても便利なのですが、VLOOKUP関数のような、『条件に合うものを抽出』ということは不可能になります。
ただ、『参照シートセルの文字を返す』だけなのです。

つまり、VLOOKUP関数のように使うなら、
セル 「A1」行番号、「B1」列番号、「C1」シート名 の数字又は文字を、思うとおりに変化させる必要を伴います。
ここがキモです。この制御がまた一悶着あるでしょう。私もそうでした(苦笑)。
結構大変ですが、思う通りのモノが出来上がると、気分は「プログラマー」ですね(笑)。

では、これがwolf_kishiさんの問題解決になれば幸いです。
ちなみに、この質問番号4825462に書き込みがあると、私の所にメールが届くように設定しております。

こんにちは。それでは説明します。
以下の二つの関数を組み合わせで作成できます。

ADDRESS(行番号, 列番号, 参照の型, 参照形式 , シート名)
 これは『セル参照値』を返す関数です。

INDIRECT(参照文字列, 参照形式)
 これはセル参照値に書かれた文字を返します。

エクセルのヘルプ内の『キーワ-ド』の欄に上記の関数を入れれば、使い方は分かりので、簡単に説明します。
ちなみに、実際にエクセルを開いて、エクセル操作しながら確認出来るように書きます。

1.まず、シート名 Sheet1 と...続きを読む

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Qエクセルの表計算の関数について

いつもお世話になります。
エクセルの関数についてなんですが、A列に金額をいれてB列にそれの消費税を計算させる。=A*0.05 という式をBには入れています。
これで最後に消費税の計をするときれいな数式ならいいんですが、小数点が出た場合トータルが一円とか違ってきてしまいます。
それぞれの計算の時は四捨五入しているのですが、トータルでは小数点で計算してしまうみたいで・・
表示されてる数字合計がでるようにすればどうすればいいのでしょぅか・・・

Aベストアンサー

こんにちは。

ご質問例ではB列に消費税を入れるようにしておられますが、
B列ではその消費税をどう処理して表示するかで入れる関数が違います。
切り上げにする例はほとんどないので下のどちらかだと思います。

1)消費税の円未満を四捨五入する
2)消費税の円未満を切り捨てる

1)の場合、例えばA2に金額、B2 に消費税とするとB2 に入れる関数は;
=ROUND(A2*0.05,0)

2)の切り捨ての場合は;
=ROUNDDOWN(A2*0.05,0)

つまり関数ROUNDは文字通り数字を四捨五入して丸めるという意味で、
丸めた結果を切り捨てる場合はDOWNをつけてROUNDDOWN、
切り上げる場合はUPをつけてROUNDUPとします。
その後の、コンマゼロはその処置をする位取りを表します。

これで最後に合計しても表示してある数字を計算してくれます。


人気Q&Aランキング