• ベストアンサー

エクセル2003の計算式

エクセル2003を使用してます。計算式が分からないのですが、下記のようなことが出来るものはありますか? B1セルに たまご と入力すると A1セルに ゆで A2セルに かたゆで A3セルに なま ・・・・ と出てくるようになってます。 入力する文字は『たまご』以外にも『りんご』などがあって入力する文字によってA1~A2セルに出てくるものが異なります。 B1セルに たまご(りんご他) を入力 B2セルに 1 (個数)と入力した場合のみ 上記と同じようにA1~A2セルが出て、B2セルに個数を入れない場合はA1~A3セルは何も出てこないようにする計算式はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.7

No.1です。 A1セル=IF(B2="","",VLOOKUP(B1,Sheet2!A3:AH28,3,FALSE)) A2セル=IF(B2="","",VLOOKUP(B1,Sheet2!A3:AH28,7,FALSE)) C1セル=IF(B2="","",VLOOKUP(B1,Sheet2!A3:AH28,4,FALSE)) C2セル=IF(B2="","",VLOOKUP(B1,Sheet2!A3:AH28,8,FALSE)) D1セル=IF(B2="","",VLOOKUP(B1,Sheet2!A3:AH28,5,FALSE)) D2セル=IF(B2="","",VLOOKUP(B1,Sheet2!A3:AH28,9,FALSE)) IF文で、B2が空白なら、空白を表示、そうで無い場合は元の式を実行しています。 エラーとなった式と見比べて見てください。

beru2007
質問者

お礼

再度の回答ありがとうございます。 ご丁寧に式を提示していただき、大変助かりました。 ありがとうございましたm(_)m

その他の回答 (7)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.8

こんばんは! No.4・6です。 今一度質問内容と補足を読み返してみて VLOOKUP関数の意味を確認してもらいたくて顔を出しました。 例えば、補足にある A1セル=VLOOKUP(B1,Sheet2!A3:AH28,3,FALSE) は B1のデータをSheet2のA3~A28(1列目)の中から拾い出し、 それを参照して一致した行の3列目にあるものを返す という意味ですので、 実際はSheet2のデータをそんなに広く範囲指定しなくてもいいのではないでしょうか? 補足だけをみれば、9列目(I列)までで充分かと思います。 =VLOOKUP(B1,Sheet2!A3:I28,3,FALSE) ← これです。 AH列と言えば34列目になるはずですので、 そこまでデータが入っているのでしょか? 元データがどのような配列になっているか分からないので 憶測で回答しては失礼なのですが、 なんかVLOOKUP関数のデータ範囲と参照範囲が違うような感じがしましたので、 何度も顔を出してしまいました。 どうもごめんなさい。m(__)m

beru2007
質問者

お礼

再度の回答ありがとうございます。 大変助かりました。 ご提示していただいた式で出来ました。ありがとうございます。 ご丁寧に解説もありがとうございます。勉強になります! 補足で書いている以上に表示したいものがありまして…。データは230行でAH列までぎっしり入ってます(^^;) その中からsheet3にはこのデータとこのデータが出る、sheet4にはこっちのデータが出る…というような感じになってます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

No.4です。 何度もごめんなさい。 No.3さんの補足を拝見させてもらいました。 元の計算式も絶対参照にしないとエラーになると思います。 (コピーすると他のSheetも同じ配置でセルが動いてしまいます) A1セル=VLOOKUP(B1,Sheet2!$A$3:$AH$28,3,FALSE) A2セル=VLOOKUP(B1,Sheet2!$A$3:$AH$28,7,FALSE) C1セル=VLOOKUP(B1,Sheet2!$A$3:$AH$28,4,FALSE) C2セル=VLOOKUP(B1,Sheet2!$A$3:$AH$28,8,FALSE) D1セル=VLOOKUP(B1,Sheet2!$A$3:$AH$28,5,FALSE) D2セル=VLOOKUP(B1,Sheet2!$A$3:$AH$28,9,FALSE) のようにしてみてください。 尚、前回も書きましたが、 セルを範囲指定した後に、F4キーを押せばいいのですが、 F4キーを押すたびに $B$1:$B$2 → B$1:B$2 → $B1:$B2 → B1:B2 という具合に変化していきます。 すなわち、行・列を絶対参照 → 行のみ絶対参照 → 列のみ絶対参照 → 相対参照 という感じです。 以上、今度はエラーが出ないことを願っています。 どうも長々と失礼しました。m(__)m

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

エクセル初心者らしい。 質問のしたいことが不明瞭だが >。計算式が分からないのですが 計算式の問題では無いだろう。エクセルの関数式は値を1つしか返らない。B1に1つー>A2以下数個では何か貴下家がいると思わないと。 実は「抜き出し問題」なんだろう。 B1に条件を入れて、他に作っっておいたデータで条件にあうデータを抜き出して表示したいと、質問はなるべきでは。 B1セルにたまご すると別列などに F列 G列 たまご ゆで たまご なま たまご 温泉 たまご 固ゆで りんご 青森産 りんご ふじ りんご 王林 りんご 焼き ^・・ のようなデータを作っておき F列がB1の文字列と等しいものを全て抜き出す。 エクセルの関数式では、抜き出し問題はふえてです。 === それか、もうひとつ可能性の有るのは A列に入力規則を設定し、B1にたまごと入れると、  ゆで  なま  温泉  固ゆで の入力候補を出す質問は良くある。 ーー たぶん前者だろうが、初心者には簡単には創出はもちろんロ化芋無理。 一方法として「imogasi方式」で出来るが。Googleで「imogasi 方式」で照会すれば、条件抜き出しの問題が沢山出るので読んでみたら。 その他のなんたらをしたいことは、難しさを理解してから、考えること。 ーー 例データ E列  F列  G列 たまご ゆで 1 たまご なま 2 たまご 温泉 3 たまご 固ゆで 4 りんご 青森産 りんご ふじ りんご 王林 りんご 焼き G列の式 =IF(E2=$B$1,MAX($G$1:G1)+1,"") 下方向に式複写。 結果 上記G列 ーーーー A2の式 =INDEX($F$1:$F$100,MATCH(ROW()-1,$G$1:$G$100,0)) 下方向に式複写 A2以下行に ゆで なま 温泉 固ゆで と出るだろう。B1にりんごと入れると即座に 青森産 ふじ 王林 焼き トラ割るだろう。#N/Aが出ないようにするには、G列のMAX数字を複写している行番号を超えいないか、IF関数で判断し、超えておれば空白を返す。 色々やり方はあるがこれが、初心者には、判りやすいのではないかと思う。

beru2007
質問者

補足

早速の回答ありがとうございます。 ご指摘の通り、エクセル初心者です。…すみません。 今まではB1セルに条件を入力し、他のシートに作成したデータから指定されたものを表示させてました。(VLOOKUP) それをB1セルに入力した文字を認識して表示するセルを残したまま、B2セルに『1』を入力したらA1~A3セルに他シートから指定されたものを表示したり、しなかったりとしたいのですが…。 こんな感じにしたいのですが…。 B1セルに たまご B2セルに 1 ↓ A1セル ゆで     A2セル かたゆで A3セル なま    B3セル 鳥取県              B4セル 料理用 B1セルに たまご B2セルに (入力なし) ↓            B3セル 鳥取県            B4セル 料理用    という具合に表示させたいと思ってます。 ゆで、かたゆで、なま、鳥取県…などは別シート(シート2)に一覧で作成しました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 横から失礼します。 すでに回答されていますが A1セル =IF(COUNTBLANK($B$1:$B$2)>0,"",計算式) としてオートフィルでA3までコピーしてみてください。 (この数式の意味は、もし、B1・B2セルのどちらか空白またはどちらも空白の場合は、空白にして、 それ以外は計算式どおりに!という意味です) B1・B2セルを選択した後にF4キーを押せば $B$1:$B$2 という表示になり、 B1・B2セルは固定したままですよ!ということです。 もし、$マークがなければA1セルの数式をオートフィルでA2にコピーすると A2セルの数式は =IF(COUNTBLANK(B2:B3)>0,"",計算式) となり参照相手が動いてしまいます。 以上、色々試して頑張ってみてください。m(__)m

beru2007
質問者

補足

早速の回答ありがとうございます。 計算式のところは元々入っていた式を入れるのでしょうか? …入れてみたのですがエラーになってしまいました…。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

No.1です。 >元々使っていた式はVLOOKUPなのですが…エラーになってしまいます…。何かいい手はありませんか? 元々の式を提示して見てください。

beru2007
質問者

補足

すみません、ありがとうございます。m(_)m A1セル=VLOOKUP(B1,Sheet2!A3:AH28,3,FALSE) A2セル=VLOOKUP(B1,Sheet2!A3:AH28,7,FALSE) C1セル=VLOOKUP(B1,Sheet2!A3:AH28,4,FALSE) C2セル=VLOOKUP(B1,Sheet2!A3:AH28,8,FALSE) D1セル=VLOOKUP(B1,Sheet2!A3:AH28,5,FALSE) D2セル=VLOOKUP(B1,Sheet2!A3:AH28,9,FALSE) という式を入れてます。 すみません、初心者です…。

回答No.2

>B2セルに個数を入れない場合はA1~A3セルは何も出てこないようにする計算式・・・? A1セルに計算式「=」の後、「IF(B2="","",(現在入ってる計算式))」と追加入力してみて下さい 「=IF(B2="","",(現在入ってる計算式))」という感じです 最後にA3セルまで数式をコピーします(オートフィル機能でドラッグ) 現在入ってる数式に「VLOOKUP」を使用しているのでしたらその数式の「範囲指定」の部分を絶対参照に変更する必要があります

beru2007
質問者

補足

早速の回答ありがとうございます。 現在の式はVLOOKUPを使っているのですが…「範囲指定」の部分を絶対参照…というのはどういう風にしたらいいですか??

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

A1~A3セルの式を次の様に修正します =IF(B2<>1,"",「元々入っている式」) これで、B2に1が入っていない場合は空白になります。 1以外でも何か入っていれば良いなら、IF(B2="",…… と、なります。

beru2007
質問者

補足

早速の回答ありがとうございます。 元々使っていた式はVLOOKUPなのですが…エラーになってしまいます…。何かいい手はありませんか?

関連するQ&A

  • エクセルの計算式

    エクセル2003を使用してます。あまり詳しくないので計算式を2つ教えてください。 (1) A1セル りんご    A2セル オレンジ A3セル バナナ と入力されていて、例えばB1セルに『1』を入力したらC1セルに『りんご』が出てくる計算式(B2セルに『1』を入れたらC1セルに『オレンジ』) (2) ファイルを開いたら日付の指定をしているところにその日の日付を出したいのですが…。 例えば今日だったら→ A1セル 9年6月18日              A2セル 0618 と出てくる計算式。 こんなことができる計算式があれば教えてください。

  • フォントサイズを別のセルに入力された数字としたい 【エクセル】

    エクセル2003での質問ですが、例として セルA1(リンゴ) A2(みかん) と文字が入力されています セルB1(10)   B2(20)  とある計算をした数値が入力されています。たとえば、売れた個数などと思って下さい。 やりたいことは、セルA1, A2に入力されている文字のフォントサイズをB1, B2に入力された数値に自動的にしたいのです。 売れた個数(Bセルの数値)によって文字のサイズを変え、視覚的に強調したいのです。 つまり、 リンゴ(フォントサイズ 10) みかん(フォントサイズ 20) 自分で関数などを調べてみたのですが、出来る方法がわかりませんでした。 簡単にできる方法を希望です。マクロなどは詳しくはありませんがこれを機会に勉強してみようと思います。もし可能であれば教えて下さい。よろしくお願いします。

  • エクセルの計算式を教えて下さい。

    エクセル少しだけかじっている者です。 お店で使用している商品出納帳が現在手書きで、その数がすごい量なのでデジタル化を検討中です。 例えば、日ごとに 月日 商品名 購入者  単価  個数  入金 掛け             8/10 りんご   A様   200   10   2000   sheet1           みかん   B様   300  10     3000             8/11 りんご    C様   200   5   1000 このように、エクセルのシート1入力したとします。(この場合の縦計算はわかります) この入力した商品名を元に、別のシートに計算式を作り自動でコピーすることはできますか?  sheet2     商品名 : りんご         月日  購入者  単価  個数 購入   入金   仕入れ差引個数         8/9   仕入れ  200   50  10000  10000    50         8/10  A 様    200   10  2000    2000      40         8/11  C 様    200    5   1000    1000      35 このように、日計を各商品毎に自動で振り分ける命令はありますでしょうか? 縦計算は大丈夫です。 すみませんが、よろしくお願い致します。   

  • エクセルにて複数の条件でセルをカウントしたいのですが方法が分かりません

    こんにちは。 他の方の質問と回答を見てやってみたのですが、 上手くいかなかったので質問させて頂きます。 <表>    A列    B列 1 条件1   条件2 2 チームA  りんご傷あり(青森) 3 チームA  みかん(愛媛) 4 チームA  りんご(岩手) 5 チームA  マンゴー(沖縄) 6 チームA  りんご(青森) 7 チームB  りんご(岩手) 8 チームB  みかん(愛媛) 9 チームB  マンゴー(沖縄) 上記の表から、 (1)りんごのセル個数     (この場合「4」) (2)Aチームのりんごセル個数 (この場合「3」) を求めたいと思っています。 (1)りんごのセル個数は =COUNTIF($B$2:$B$9,"りんご*") という計算式で「4」という答えが出ました。 (2)Aチームのりんごセル個数「3」を出そうとして =SUMPRODUCT((A2:A9="チームA")*(B2:B9="りんご*")) と入力したのですが、「*」が入っているためか、 3という数値が出てきません。 どなたか、関数を教えていただけませんか? 実際の表では、 (1)150行まで入力されています。 (2)条件1は「チームA」か「チームB」のみです。 (3)入力されている文字列は、「りんご」「みかん」という「左から3文字」という法則性はありません。 マクロは技術的に使えませんので、関数で対応したいと思っています。 また、別シートに集計表を一覧で作りたいので、フィルタ機能ではなく、関数で対応したいと思います。 以上、長々と申し訳ございません。 お分かりの方、是非回答をお願い致します。

  • 計算式について

    範囲と条件がそれぞれ2つあり、その2つを同時に満たすものの個数を返したいのですが、どういう計算式になりますか? (例)セル範囲がA10:A100に対してBという文字が入力される    セル範囲がC10:C100に対してDという文字が入力される    この2つの範囲と条件を同時に満たすものの個数がセルA1に入力される。 よろしくお願いします。   

  • エクセルで計算できない・・・

    初歩的な質問で申し訳ありませんが、困っておりますので教えて下さい。 エクセルで、計算式がフィルハンドルで効かなくなりました。 例えば、セルA1に「1」、セルA2に「2」、セルA3に「3」と入力し セルB1に「4」、セルB2に「5」、セルB3に「6」と入力します。 次にセルC1に「=SUM(A1:B1)」の計算式を入れると「5」と計算されますが、その後セルC1からセルC3までフィルハンドルを使うとセルC2、セルC3にも同じ計算がされて、セルC2「7」、セルC3「9」となるはずですが…セルC2、セルC3とも、セルC1と同じ「5」になってしまいます。 その場合も、セルC2には「=SUM(A2:B2)」、セルC3には「=SUM(A3:B3)」と、求めたい計算式は入っています。 今まで何ともなく使っていたエクセルのファイルがおかしいのです。 新規作成したエクセルファイルは何ともありません。 なぜこのような症状が出るのでしょう? 未熟者ですので解り易く教えていただけると助かります。 宜しくお願いいたします。

  • エクセルで○対△ (○:△)となるような計算式

    例えば、売り上げ個数の予算がA=200、000個、B=600,000個だとしたとき、A:B=1:3となるように個数の下のセルに計算式を入れたいです。(AとBの個数が変わっても、Ratioが計算できるように入力したいです。) 今まで試したのでは、 =200,000/(200,000+600,000)とすると小数になり、うまくいきません。(この続きの計算上、整数でなければうまくいきません) ずっと考えているのですが思い出せないし、これ以上のいい方法が浮かびません。 どうすればうまくいきますか?

  • エクセルの計算式でできますか?

    エクセル2003を使用してます。 計算式の組み方が分からないので、下記のようなことを実現できる式があれば教えてください。 シート1(商品の基本台帳)   A(記号)  B(商品)    C(元の個数)  D(在庫数) 1 A      リンゴ      100       57 2 B     オレンジ      166      106 3 C      レモン      70        8 シート2(売上げ台帳)   A(日付)  B(記号)   C(商品)   D(販売数) 1 4/7       B     オレンジ   58 2 4/7       C     レモン    15 3 4 5 4/28      A     リンゴ     38 6 4/28      C     レモン     35 7 4/28      B     オレンジ    2 8 9 10 5/3      C    レモン      12 11 5/3      A    リンゴ       5 ・・・・・ ROUNDでシート1の記号を、シート2に打ち込むと商品名が出てくるようになってます。 さらにシート2の販売数をその記号から勝手に計算してもとの個数から引いていき、シート1の在庫数に表示させたいのですが、そんなことができる計算式はありますか?  

  • excelで質問です

    EXCELで質問です。通常、1つの条件を満たす場合の個数の算出はCOUNTIF関数ですが、条件が複数(たとえば、A1からA10までのセルにA,B,C,Dのいずれかの文字列が1つでも入力された場合に、その個数をカウントする計算式がわかりませんので、教えてください。

  • excelでの自動計算

    excelでの自動計算 EXCELで縦に自動計算した数値を表示したいのですが、 どうすればいいでしょうか。 例えば、縦に10個(個数は任意にしたい)同じ数値を表示させたいとき。  F10からF19までのセルには、1  F20からF29までのセルには、2  F30~… 設定したい項目は、  (1)始めたい数値をA1セルに入力  (2)同じ数値をいくつ縦に表示させるかをB1セルに入力  (3)上記の(1)&(2)を何セット計算させるか(終わりの数値でもOK)をC1に入力 結果をF10から縦に表示していく。 以前から何かできないかと考えつつ、コピー等で地道に作業しています。 どなたかお知恵を頂ければ助かります。 宜しくお願い致します。

専門家に質問してみよう