エクセル2010のドロップダウンリストの設定方法と関数について

このQ&Aのポイント
  • エクセル2010でドロップダウンリストを使い関数を設定する方法について説明します。
  • 売りの場合の関数設定や空売りの利益計算についても解説します。
  • ドロップダウンリストを使って関数を変更する方法を具体的に説明します。
回答を見る
  • ベストアンサー

エクセル2010のドロップダウンリストについて

エクセル初心者です。よろしくお願いします。 関数など全く分からない素人です。 今、制作している表は株式の収支表なのですが株には買う場合と売る場合があります。 株を買って売却した場合の関数はここで教えてもらい無事出来ました。 今回は株式収支表の売り設定なので、空売りの説明もしたいのですが出来るだけ 簡素に説明しているのでわかりにくい場合があると思います。 そのあたりは株取引のご経験がない方には申し訳ないと思っています。 【質問・なにがしたいのか】 今回は売りで取引があった場合にその関数を教えて頂きたいのです。 買いの場合は図の左端にあります青字で買とある列には関数は下記のように入れています。【これはここで教えて頂きました。】 画像リンクは避けたかったのですがここにアップすると詳細が見えないとの回答がありましたのでご理解ください。 http://or2.mobi/index.php?mode=image&file=7969.jpg 約定合計    =IF(ISBLANK(H4),"",G4*H4) 決算合計    =IF(ISBLANK(I4),"",G4*I4) 利益合計    =IF(ISBLANK(I4),"",M4-L4) 個別収益率% =IF(OR(H4="",I4=""),"",(M4-L4)/(G4*H4)) 上記のように買の場合には教えて頂いた関数を入れています。 これを売りで取引する場合に画像(1)~(4)にはどのような関数を入れたらよいでしょうか。 株式売買の空売りとは 100円で売り建て(証券会社から一時的に借りて)売った株が値下がりして90円になったとします。 計算すると 100円-10円=90円 株価が90円になったわけですので売りの場合には証券会社に返済する金額は90円なので10円の利益となります。 今回は売りの場合の関数設定をドロップダウンリストを使って(1)~(4)の関数変更できるか教えて頂きたく思います。 また画像の左端には買、売、買越、売越、とあります。(買越、売越は前月をまたいで決算した場合に使います。) 株式取引には買から入る場合と売りから入る場合がありますので 左端でドロップダウンリストを買か売りを選択してから数値を入力していきたいのですが このリストを買、売り、買越、売越と選択することで関数を変更できるようにするにはどの様にしたらいいでしょうか? ドロップダウンリスト設定の方法は条件付き書式→セルの強調表示ルール→指定の値に等しい、にて設定しています。 買を選択した場合には買いの関数に、売を選択した場合には売りの関数の場合に変更するにはどの様に設定手順をしたらよいか ご指導お願いいたします。 今回の質問はややこしくて回答者様が困惑しないか不安なのですが あまり長文で説明するのも余計わかりにくいと思いましたので簡素に書いています。 ご不明な点があると思いますが どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 回答番号ANo.3です。 >サポートエンジニアさんからメールが来ましてアドバイスがあり 下記の関数を利益合計のセルに入れて試したところ買、売の設定が出来ました。 >=IF(ISBLANK(I5),"",IF(B5="買",M5-L5,IF(B5="売",L5-M5)))  その関数は、本当に一字一句間違いなく、サポートエンジニアの方のメールに書いておられた関数と同じなのでしょうか?(もし、間違いが無いのでしたら、その様な不完全な関数を教える様な方は、Excelの教えを乞うの際の当てにはされない方が宜しいかと思います)  その関数は、Excelの関数としては不完全で、B5セルの値が、「買」でも「売」でもない場合に、何と表示させるのかが記述されていません。  又、G5セル(株数量欄)に何も入力されていない場合には、本来であればM5セルやL5セルは空欄となっているため、「利益合計」を計算出来ない筈であるにも関わらず、計算処理を行って、「0」と表示してしまう関数となっています。 >また教えて頂きました下記の関数に買越、売越の設定まで入れた場合にはどうなりますか? >=IF(AND(ISNUMBER(L4),ISNUMBER(M4)),IF(ISNUMBER(FIND("買",B4)),M4-L4,IF(ISNUMBER(FIND("売",B4)),L4-M4,"")),"")  この関数は、B4セルの値が、「買」や「買越」の場合の様に、B4セルに入力されている文字列の中に、「買」の文字が含まれている場合には、「買」の場合と全く同様に、M4セル(決算合計欄)の値からL4セル(約定合計欄)の値を引き算した結果が表示されます。  B4セルの値が、「売」や「売越」の場合の様に、B4セルに入力されている文字列の中に、「売」の文字が含まれている場合には、「売」の場合と全く同様に、L4セル(約定合計欄)の値からM4セル(決算合計欄)の値を引き算した結果が表示されます。  そして、B4セルに入力されている文字列の中に、「買」と「売」のどちらも含まれていない場合には、何も表示しない様になっています。  ですから、例えばB4セルに「買いに非ず」等と入力しても、「買」として計算してしまいますから、注意して下さい。  それから、ANo.3では書き忘れておりましたが、ANo.3で述べた各関数を、4行目の中の、各所定のセルに入力してから、L4~O4の範囲をコピーして、5行目以下に貼り付ければ、貼り付けた関数が5行目以下の各行ごとに合う様に、Excelが自動的に関数を修正してくれます。

MIURASV
質問者

お礼

kagakusukiさん、ANo.3で教えて頂いた通りの関数を全て入れて試しましたら 完全に作動しました。 買越、売越にも対応しており、完全な関数です。 サポートエンジニアさんの関数は買、売のみでしか計算されないようです。 ですのでkagakusukiさんのANo.3で教えて頂いた関数が正解です。有難うございました。 という事でベストアンサーに選ばせて頂きます。 本当にありがとうございました。<(_ _)>

その他の回答 (4)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.4

まさか自分の質問が何処にいったか判らなくなったわけではないでしょうに。 最初からやり直しという事でしょうか。 他の方に参考にして頂くまでもないでしょうけど 取り敢えず今までの質疑履歴。 http://okwave.jp/qa/q6835431.html?order=asc ワタシはこれでドロップアウトして、 現段階では以下のアドバイスで終わりにします。 N4セルに下記の数式をコピーペーストして、 N4セルをコピーして、N4以下、必要なセルまで貼り付けです。 =IF(ISBLANK(I4),"",(M4-L4)*IF(LEFT(B4,1)="売",-1,1)) >これが【売の場合】どう変わるのですか? この答えが『変わらない』であれば 変更する数式は「利益合計」だけで、 「個別収益率%」の数式はこの「利益合計」セルを参照させるだけで良いはずです。 #既に他の方も書かれてますが。 前スレッドの延長としての流れで-1を掛けてますが 他の方のアドバイスのように、条件によって 「約定合計」-「決算合計」なのか 「決算合計」-「約定合計」なのか 数式を変更する方針のほうが解かり易くて良いでしょうね。 「関数設定」..なんて難しく考えずに、 表の情報を元にどの項目がどういう条件の時に、 どの項目とどの項目を『どう計算させたいか』 それは貴方自身が解かってる事でしょうから、まずは 『もし「売買選択」の1文字目が"売"だったら「約定合計」-「決算合計」で それ以外だったら「決算合計」-「約定合計」とする』 ..というように考えて、適切な関数を調べるだけです。 必要なのはIF関数とLEFT関数で。あとは基本的な四則計算だけですよね。

MIURASV
質問者

お礼

ご回答有難うございます。 参考にさせて頂きます。

MIURASV
質問者

補足

こちらで返信を数日お待ちしておりましたが ご返信がなかったので再度、お聞きいたしました。 http://questionbox.jp.msn.com/qa6835431.html 本当にエクセルは初心者で本当の素人なので 適切な関数を調べる事すら自分にとって難題ですので 皆様にご相談させて頂いております。 自分のような初心者というレベルの理解度はこんなに低いという事を ご理解頂けましたらありがたく思います。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 ISBLANK関数で判定を行うと、参照先のセルに何らか関数が入力されていて、その計算結果としてセルの表示が空欄となっている場合等には、正しい判定が出来ません。  ですから、例えば、L4セルに数値が入力されている場合のみに、M4セルの値からL4セルの値を差し引いた値を表示し、L4セルが空欄か、或いは文字列が入力されている場合には何も表示しないようにする際に、 =IF(ISBLANK(L4),"",M4-L4) という関数としてしまうと、H4セルが空欄である場合にはL4セルには何も表示されないにも関わらず、L4セルには関数が入力されているために、ISBLANK関数では空欄とは見做されず、M4-L4の計算結果が表示されてしまいます。  又、L4セルに関数ではなく、何らかの文字が入力されている場合には、引き算を計算する事は出来ませんから、エラーが発生してしまいます。  それに、L4セルに数値が入力されているのか否かだけで判定を行ったのでは、L4セルにだけ数値が入力されていて、Mセルに数値が入力されていない場合でも、計算が行われてしまいます。  ですから、L4セルとM4セルの両方に数値が入力されている場合にのみ、M4セルの値からL4セルの値を差し引いた値を表示し、それ以外の場合には何も表示しない様にする場合には、 =IF(AND(ISNUMBER(L4).ISNUMBER(M4)),M4-L4,"") という関数とした方が良いと思います。  又、O4セルに入力されている関数である =IF(OR(H4="",I4=""),"",(M4-L4)/(G4*H4)) の中の (M4-L4)/(G4*H4) という部分に関してですが、 M4-L4 の値は、既にN4セルで計算されていますし、 G4*H4 の値も、既にM4セルで計算されていますから、再度計算する事は二度手間になります。  ですから、 (M4-L4)/(G4*H4) の部分は、 N4/M4 とする方が、一般的です。  これらの事を勘案しますと、L4セルの数式は次の様になります。 =IF(AND(ISNUMBER(G4),ISNUMBER(H4)),G4*H4,"")  M4セルの数式は次の様になります。 =IF(AND(ISNUMBER(G4),ISNUMBER(I4)),G4*I4,"")  O4セルの数式は次の様になります。 =IF(AND(ISNUMBER(L4),ISNUMBER(N4)),N4/L4,"")  そして、上記の式であれば、L列、M列、O列の数式は、B列の入力値が「売」の場合と、「買」の場合のどちらであっても、同じ計算式となりますから、B列の入力値に応じて、計算式を変更する必要はありません。  但し、N列だけは、B列の入力値が「売」の場合と、「買」の場合では、値のプラスとマイナスが逆転しますから、IF関数をE;入れ子にして使用し、次の様な数式となります。 =IF(AND(ISNUMBER(L4),ISNUMBER(M4)),IF(ISNUMBER(FIND("買",B4)),M4-L4,IF(ISNUMBER(FIND("売",B4)),L4-M4,"")),"")

MIURASV
質問者

お礼

詳しい説明有難うございます。 サポートエンジニアさんからメールが来ましてアドバイスがあり 下記の関数を利益合計のセルに入れて試したところ買、売の設定が出来ました。 =IF(ISBLANK(I5),"",IF(B5="買",M5-L5,IF(B5="売",L5-M5))) ただこの関数には売越、買越の設定がないので売越、買越を選択するとFALSEとなります。 ですので上記の関数に売越、買越を設定すれば完全な関数となるようです。 また教えて頂きました下記の関数に買越、売越の設定まで入れた場合には どうなりますか? =IF(AND(ISNUMBER(L4),ISNUMBER(M4)),IF(ISNUMBER(FIND("買",B4)),M4-L4,IF(ISNUMBER(FIND("売",B4)),L4-M4,"")),"") 聞いてばかりで申し訳ないですがよろしくお願いいたします。

MIURASV
質問者

補足

詳しいご回答有難うございます。当方、エクセルは初心者ですので どこにどれを設定するかまで教えて頂かないと全く分かりませんでしたが 何とか今晩、試してみます。(只今仕事中なもので・・・) 今晩にまたわからない所があれば教えて下さい。 よろしくお願いします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

L4セルには次の式を入力し下方にオートフィルドラッグします。 =IF(H4="","",G4*H4) M4セルには次の式を入力し下方にオートフィルドラッグします。 =IF(I4="","",G4*I4) N4セルには次の式を入力し下方にオートフィルドラッグします。 =IF(I4="","",IF(B4="買",M4-L4,IF(B4="売",L4-M4,IF(B4="買越",その時の計算式,IF(B4="売越",その時の計算式,""))))) O4セルには次の式を入力し下方にオートフィルドラッグします。 =IF(OR(N4="",L4=""),"",N4/L4)

MIURASV
質問者

お礼

初心者にご回答有難うございます。 初心者の自分は下記のその時の計算式がわからなく申し訳ありません。 =IF(I4="","",IF(B4="買",M4-L4,IF(B4="売",L4-M4,IF(B4="買越",その時の計算式,IF(B4="売越",その時の計算式,""))))) 色んな方法があるようで初心者には理解が大変です。(^_^;) もしよろしければ追加補足がありましたらお願いします。

MIURASV
質問者

補足

こんにちはご回答有難うございます。 このようなやり方もあるようですね。 ただ当方、初心者なものでどこのセルにどの関数を一個ずつ説明して頂けないと わからない程の初心者です。<(_ _)> 宜しければ、もう少し具体的に説明して頂ければ大変助かります。 関数に漢字が入っているものもよく見かけますので興味がありますが 今の自分の知識では設定が出来ないのでご足労おかけいたしますが 補足して頂ければありがたく思います。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>今回は売りの場合の関数設定をドロップダウンリストを使って(1)~(4)の関数変更できるか教えて頂きたく思います。 式は IF文を使って、それぞれの計算式を記述することになります。 例えば  約定合計    =IF(ISBLANK(H4),"",G4*H4) では =IF(ISBLANK(H4),"",IF(B4="買",ここに買の場合の式,IF(B4="売",ここに売りの場合の式,IF(B4="買超",ここに買超の場合の式,最後にそれ以外の場合の式)))) といった具合で関数式を記入すると B列で選択した文字に応じて計算がなされます。

MIURASV
質問者

お礼

回答、有難うございました。 今、色々と試しています。 教えて頂きました関数ですが =IF(ISBLANK(H4),"",IF(B4="買",ここに買の場合の式,IF(B4="売",ここに売りの場合の式,IF(B4="買超",ここに買超の場合の式,最後にそれ以外の場合の式)))) ここに買の場合の式の所等が初心者にはわかりません。理解不足でごめんなさい。 補足ありましたらお願いいたします。

MIURASV
質問者

補足

敏速にご回答、大変ありがたく思います。 当方、初心者なためにもう少し、具体的にどこのセルにどの関数を入れたら どうなるかの補足がありましたら大変助かります。<(_ _)> エクセルの設定も色々とあるようですし、どれを使おうか非常に迷っています。 補足頂けましたら、私のような初心者でもできるかと思います。 よろしくお願いいたします。

関連するQ&A

  • エクセル2010にてタブで関数変更できますか

    ご回答頂ける皆さんにはいつもお世話になっいます。今回もよろしくお願いします。 今、制作している表は株式の収支表なのですが株には買う場合と売る場合があります。 株を買って売却した場合の関数はここで教えてもらい無事出来ました。 今回は株式収支表の売り設定なので、空売りの説明もしたいのですが出来るだけ 簡素に説明しているのでわかりにくい場合があると思います。 そのあたりは株取引のご経験がない方には申し訳ないと思っています。 【質問・なにがしたいのか】 今回は売りで取引があった場合にその関数を教えて頂きたいのです。 買いの場合は図の左端にあります青字で買とある列には関数は下記のように入れています。 約定合計    =IF(ISBLANK(H4),"",G4*H4) 決算合計    =IF(ISBLANK(I4),"",G4*I4) 利益合計    =IF(ISBLANK(I4),"",M4-L4) 個別収益率% =IF(OR(H4="",I4=""),"",(M4-L4)/(G4*H4)) 上記のように関数を入れています。 これを売りで取引する場合にどのような関数を入れたらよいでしょうか。 株式売買の空売りとは 100円で売り建て(証券会社から一時的に借りて)売った株が値下がりして90円になったとします。 計算すると 100円-10円=90円 株価が90円になったわけですので売りの場合には証券会社に返済する金額は90円なので10円の利益となります。 今回は売りの場合の関数設定をタブを使って変更できるか教えて頂きたく思います。 また画像の左端には買、売、買越、売越、とあります。(買越、売越は前月をまたいで決算した場合に使います。) 株式取引には買から入る場合と売りから入る場合がありますので 左端でタブを買か売りを選択してから数値を入力していきたいのですが このタブを買、売り、買越、売越と選択することに関数も変更できるようにするにはどの様にしたらいいでしょうか? この左のタブは▼マークをつかってます。 タブ設定の方法は条件付き書式→セルの強調表示ルール→指定の値に等しい、にて設定しています。 買を選択した場合には買いの関数に、売を選択した場合には売りの関数に変更することは出来ますか。 出来る場合にはどの様な設定手順をとればいいいでしょうか よろしくお願いいたします。 今回の質問はややこしくて回答者様が困惑しないか不安なのですが あまり長文で説明するのも余計わかりにくいと思いましたので簡素に書いています。 ご不明な点があると思いますが どうぞよろしくお願いいたします。

  • エクセルのドロップダウンについて

    エクセル初心者です。よろしくお願いします ドロップダウンリストを連動させる?2つ使う方法について教えてください。 例えば、ある株式 A、B、C・・・があり、その月の月間の 始値、高値、安値、終値の4つの項目があるとします。 そこでそのうちの2つの項目を比較(ここでは単純に引き算)の結果を出す列も用意します。  ここでドロップダウンリストで「どの株式」→そのうちの 「どの値段」と「どの値段」 という風にカギかっこ部分をドロップダウンリストにしたい場合どうすればいいのか分かりません。   たとえば、株式のところで、トヨタ― 本田0 松っ下 の株式をえらんで、 次のドロップダウンで選べる項目は4つ 選んだら それに対応した値段が数か月分でてくるようにしたいんです。     松|下 ←(ドロップ) 高値  安値 ←(ドロップ) 35   21 62   13 87   64 どうかよろしくお願いします

  • ドロップダウンリストの連動について

    Excel2007での質問です。 例えば、B1セルに、1を入れると”肉食動物”、2で”草食動物”と出る ようにA1セルに、=IF(B1=1,"肉食動物",IF(B1=2,"草食動物",IF(B1="","",""))) と数式を作っておき、このとき、A2セルに、肉食選択時はライオン、チーター・・ また、同様に草食選択時の場合はA2セルに、キリン、シマウマ・・などのドロップダウンリストを場合分けで連動させたい、つまり同一セルでドロップダウンリストを自動で使い分けたい場合、どのようにすればよいでしょうか。

  • ドロップダウンリストとIF関数

    ドロップダウンリストから選択すると指定の数値を出したいのですが、IFを複数設定するにはどうすればよいでしょうか?リストから「A」を表示すると同じシート内の別の場所に「1」、「B」ならば「2」と表示させたいです。「=IF(A1=B1,C1)」の式でひとつは可能なのですが複数ある場合の方法が分からないので教えて下さい。

  • Excelのドロップダウンリストについて

    Sheet1において, A列 B列 1 田中太郎 2 佐藤次郎 3 山田三郎 のようなリストを作成してあるとします。 Sheet2において, A1のセルに1を入力すると,B1のセルに田中太郎と表示される様,B1にVLOOKUP($A1,Sheet1!$A$1:$B$3,2,0)と入力しています。 この時,A1をドロップダウンリストで入力する場合,リストの表示と入力値を変更するようなことはできるのでしょうか。 すなわち,リストには, 田中太郎 佐藤次郎 山田三郎 と表示され, 田中太郎 を選ぶとA1には1が入力され,B1にはVLOOKUP関数の効果として田中太郎と表示されるといった具合です。 当方,HTMLは理解しておりますので,HTMLで意図をご説明させていただければと思います。 HTMLでプルダウンボックスを使う場合の入力として, <SELECT name="ボックス名"> <OPTION value="1">田中太郎</OPTION> <OPTION value="2">佐藤次郎</OPTION> <OPTION value="3">山田三郎</OPTION> </SELECT> ということになります。 これと同じようなことがエクセルで可能なのかどうかという質問でございます。

  • エクセルで通知音

    株式で使っているんですが エクセルのif関数で ある一定以上及び以下の金額になったら セルに『買い』『売り』と表示させています。 ただ、表示だけだとモニタに 釘付けになっていないといけないので 『買い』『売り』が表示された場合 通知音を出したいのですが 何か方法はありますでしょうか? よろしくお願いします。

  • 差金取引・買いを増やすときの場合

    差金取引について次のような場合の是非について教えて頂きたいと思います。当日中、100万円の資金があったとします。現在値100円です。 買い   A社1000株 再び買い A社1000株 全部売り A社2000株 或いは、 買い   A社1000株 再び買い A社1000株 売り   A社1000株 再び売り A社1000株  つまり、当日中に同一銘柄A社の株を買い足して売った場合です。同一銘柄を(買い・売り・買い・売り)であったら差金取引だと思うのですが、(買い・買い・全部売り)、(買い・買い・売り・売り)というパターンはどうなのでしょうか?  また、誤って差金取引にあたるような注文をした場合、どういった罰則があるのでしょう。それとも、ネットの注文画面ではじめからできないように設定されているのでしょうか。私はイートレを使っています。中には間違う人も多いとは思うのですが、ぜひ、ご回答のほどを。

  • EXCELで複数のドロップダウンの選択肢ごとに変化する計算式を設定する方法。

    Excel2007を使っています。ドロップダウンで選択した項目ごとに計算式を変更できる方法を教えてください。 例 まず、D5にはデータの入力規則で「入力値の種類」をリストとしました。「元の値」にEUR/GBP,USD/JPYと2種類入力し、ドロップダウンで二つを選択できるようにしました。 C11にもD5同様、ドロップダウンで「買い」と「売り」という二つの選択肢を作成しました。 D5に「EUR/GBP」を選択し、C11を「買い」と選択した場合。 仮にE11に0.6485とL11に0.6550のような数字が入るとした場合はK11に=ROUND((L11-E11)*10000,0)と65という答えを求めます。 しかし、C11が「売り」を選択した場合は、K11に=ROUND((E11-L11)*10000,0)と違う計算ができるようにしたいと思っています。 また、D5にUSD/JPYを選択し、C11を「買い」とした場合。 仮にE11には90.50とL11には90.20というような数字が入るとして、計算式を=ROUND((K11-E11)*100,0)で-30という答えを求めます。 しかしC11が「売り」を選択した場合は、=ROUND((E11-K11)*100,0)という計算式を求めるようにしたいと思っています。 ドロップダウンが複数ある場合、選択した項目ごとに別々の計算式を自動で変更できるようにする方法があれば教えてください。 よろしくお願いします。

  • 株取引について

    株取引についてご経験がある方、教えてください。 たとえば、A社の株500株ほしいとき、 (1)ちょうど500株の売り注文を見つけて取引を行うのか、 (2)300株注文+200株注文のように分けて取引を行うのか。 どちらが正解なのでしょうか。 (1)の場合、ちょうど500株売り注文がないと、たとえ希望額の売りがあっても それが400株とか600株とかなら取引ができないとなりませんか。 逆に売りたい場合も同じことが起こりませんか? 500株100円で売りたい→300株100円買い 1000株110円買い しかない場合とか 市場全体なら桁違いの株数があるとおもいますが、一個人間との取引とみればこういう状況は考えられませんでしょうか・・・・ 以前バーチャル取引で試してみた程度の初心者ですので、まったく見当違いな解釈をしているかもしれません。 よろしくお願いします。

  • 売り越し、買い越しについて

    初心者です。市況を読むとA銘柄**万株の売り越しとか書いてますが、これは売り注文が買いを**万株上回っていて取引が成立しないということでしょうか?でも現実には値がついてます。どう理解したらいいのでしょうか?またこの状態(売り越し)は将来株価が下がるという確率が高いのでしょうか?

専門家に質問してみよう