- ベストアンサー
エクセルで文字の識別と文字を飛ばして足し算したい。
以下のような表を作り、(1)、(2)の機能をつけたいのですがうまくいきません。 計算式の分かる方がいれば教えてください。 A B C D 1 リンゴ 90円 1個 90円 2 バナナ 20円 2個 40円 3 みかん 30円 3個 90円 4 バナナ 20円 1個 20円 5 みかん 30円 2個 60円 6 合計 - 9個 300円 (1)この表のAの列に「リンゴ」「みかん」「バナナ」を入力すると自動的にB列に価格が表示される。 (2)C列に「未定」などの文字を入れるとオートSUMが機能しなくなるので、これをC列に文字を入れると文字を入れたセルを飛ばして計算する。 よろしくお願いします。
- kamonaga
- お礼率83% (5/6)
- オフィス系ソフト
- 回答数4
- ありがとう数4
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
基本的な考え方は#No.1 No.2 と同じですが、ご質問の文脈からもしかしたらVLOOKUPやISNUMBER関数などの具体的使用方法や、式構成の原理などをご存知ではないのではないかと存じ、大変失礼ですが能率的な作業方法も併せて説明させていただきます。 Sheet1が計算表だとするとまずSheet2に、A列が品名、B列がそれに対応する単価を入力した単価表を作ります。 A,B列のすべてを選択し、挿入→名前→定義をクリックします。名前の定義ダイアログボックスが現れますので、例えば「単価表」と名前を付け、下の参照範囲が「=Sheet2!$A:$B」となっていることを確認してOKをクリックします。 次に、作業能率を高めるため、A列のみを選択し、同様に挿入→名前→定義をクリックします。名前の定義ダイアログボックスが現れますので、例えば「品名」と名前を付け、下の参照範囲が「=Sheet2!$A:$A」となっていることを確認してOKをクリックします。 次はsheet1です。1行目は見出し行として、A1~D1に品名、単価、数量、合計と入力します。 まず品名列の入力を容易にするため、A列全体を選択し、データ→入力規則をクリックします。データの入力規則というダイアログボックスが現れますので、入力値の種類(下の空欄の)右の▼をクリックし、「リスト」を選びます。 次に元の値欄に =品名 と入力するか、又は上のツールバーに「=ab」があればそれをクリックして、「品名」を選択、なければ、挿入→名前→引用をクリックして「品名」を選択します。 次にB2に入力する式です。 =IF(ISERROR(MATCH(A2,品名,0)),"",VLOOKUP(A2,単価表,2,FALSE)) なお、これは単価表(Sheet2)の品名にないものをA列に入力したときエラー値が出るので、それを防ぐために IF(ISERROR(MATCH(A2,名前,0)),"", を書き加えたもので、単価表(Sheet2)の品名にないものを入力することが絶対にない場合は、単に =VLOOKUP(A2,単価表,2,FALSE) だけで構いません。 次にD2に入力する式です。 =IF(B2="","",IF(ISNUMBER(C2),B2*C2,"")) と入力します。 これもB列が空欄になる場合があり得ることに備えて、 IF(B2="","", を書き加えたもので、それがなければ =IF(ISNUMBER(C2),B2*C2,"") だけで構いません。 以上が終われば、B2とD2をそれぞれ下にプルダウンコピーします。 これで完成ですが、数量以外にC列に入力する文字列(例えば、未定、品切れなど)も前記の品名のようによく使う文字列を縦1列に並べた表を別に作っておき、名前を付け、品名同様、データ→入力規則 でプルダウン入力出来るようにしておくと便利でしょう。 なお、最後に一つだけ。No.2 imogasi さんが指摘されたように単位(個、円など)は表示形式で設定した方がよいと思います。
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7418/18948)
(1)A,B列だけの単価表を別に用意すればOK その範囲がSheet2のA1:B100として =IF(COUNTIF(Sheet2!$A$1:$A$100,A1),VLOOKUP(A1,Sheet2!$A$1:$B$100,2,FALSE),"") (2)確かにオートサムは文字列の範囲の直前までしか範囲に自動設定しませんが SUM関数自体は文字列を0として扱うので、範囲指定さえ手動ですれば大丈夫です。
お礼
オートサムとSUM関数ではそういう違いがあるのを知りませんでした、早速試して見ます。 ご回答ありがとうございます。
- imogasi
- ベストアンサー率27% (4737/17068)
(1)Sheet2のA1:B5に リンゴ 90 バナナ 20 みかん 30 バナナ 20 みかん 30 を作る。[ 「円」は表示形式で円を添える。 Sheet1のB1に式 =IF(A1="","",VLOOKUP(A1,Sheet2!$A$1:$B$5,2,FALSE)) と入れてデータ入力行最下行まで複写する。 (2)はIF文でD1に =IF(ISNUMBER(C1),B1*C1,"") と入れて下方向に複写。 「個」は表示形式で設定して出すこと。
お礼
早速のご回答とアドバイスをありがとうございます。 私が1日悩んでも解決しなかった事を簡単に回答できるあなたはすごいと思います、きっとたくさん勉強されたのですね、私もimogasiさんのようにまではなれないにしてももっと勉強しようと思います。
- 134
- ベストアンサー率27% (162/600)
(1)品名と単価の一覧表を作って、vlookup文などを使うと効果的です。 (2) D1セルに =if(isnumber(c1)=true,b1*c1,"") という関数を入力し、下にコピーする
お礼
早速のご回答ありがとうございます。 vlookupってなんだっけ、と思うくらい勉強不足の私でした。もう少ししっかり勉強してみようと思います。 (1)(2)ともに適切なご回答をありがとうございます。
関連するQ&A
- エクセルで同じ文字だけを足し算したい。
以下のような表を作り、Aの列に「リンゴ」「みかん」「バナナ」を入力(ランダムに入力します。)すると、みかんだけを自動的に足し算したい。 計算式の分かる方がいれば教えてください。 A B C D 1 リンゴ 90円 1個 90円 2 バナナ 20円 2個 40円 3 みかん 30円 3個 90円 4 バナナ 20円 1個 20円 5 みかん 30円 2個 60円 6 合計 - 9個 300円 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excelでの文字列とりだしについて
Excel(version2013)について質問です。 ある文字列を検索範囲内で検索し、みつかった場合、 その文字列を返すようにしたいです、どのような関数を使えば宜しいでしょうか。 例えば下記A列に検索したいリスト(りんご、ばなな、ぶどう)があり、 検索したい範囲がD1~E5とします。 その場合、B列に関数を使った式を入れ、 りんご、ばなな、空文字、りんご、ぶどうと並ぶようにしたいです。 どのような関数を使えば宜しいでしょうか。 A B C D E 1 りんご (式) りんご みかん 2 ばなな (式) ばなな すいか 3 ぶどう (式) すいか みかん 4 (式) りんご すいか 5 (式) ぶどう みかん
- 締切済み
- オフィス系ソフト
- エクセルのセル内の重複文字列処理について
よろしくお願いいたします。 セル内にスペースで区切られた文字列(単語)があり、文字列の数は不確定です。 その文字列の中で重複する文字列があり、それらを1つにまとめたいという要望です。 セルの行数は約6000ほどあります。 例 A1セル:リンゴ リンゴ みかん B1セル:リンゴ みかん A2セル:みかん バナナ みかん バナナ みかん B2セル:みかん バナナ ・・・ よろしくお願いいたします。 Windows7 HomePremium Office2010
- ベストアンサー
- その他MS Office製品
- Excelで、複数条件で検索するには?
りんご A商店 2個 バナナ A商店 3個 りんご B商店 5個 みかん C商店 3個 バナナ A商店 5個 みかん A商店 1個 バナナ C商店 3個 上記のような表で、 A列が「バナナ」かつB列が「A商店」のデータをカウントし、さらに個数(C列)の合計を出すようなことをしたいと思っています。 上の例なら、2件8個というのを求めたいです。 DSUMやDCOUNTでCriteriaの表を作る方法、あるいはオートフィルタで求める方法はわかるのですが、答えは、各1つのセルだけで簡潔に求めたいです。(式は簡潔でなくても構いません) よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 一番初めに文字列が入っている列の文字列を知りたい
次の条件で、よりA列に近い文字列を引っ張り出すにはどのような関数を使えば良いのでしょうか? 1)行の中にそれぞれ"文字列"が入っている 2)文字列が入っているセル数は行によって異なる 【A】 【B】 【C】 【D】 【E】 【1】りんご 【2】 ばなな 【3】 みかん りんご 【4】ばなな みかん この回答を【F】列に示す場合、 【F1】はりんご、【F2】はばな、【F3】はみかん、【F4】はばなな、になって欲しいのです。 上手く質問できないのですが、とても困っています。宜しくお願いします。
- 締切済み
- その他([技術者向] コンピューター)
- Excel ●がついているセルのみ抽出したい
A列 B列 C列 ● りんご 3 みかん 5 ● ぶどう 2 バナナ 5 ↓ ● りんご 3 ● ぶどう 2 上記のように●がついているセルの横(B、C列)を抽出する関数はありますか? オートフィルタ以外でおわかりになりましたら教えてください。 よろしくお願いいたします<(_ _)>
- ベストアンサー
- オフィス系ソフト
- Excel 商品ごとに列に色を付ける
上手く検索が出来ず・・・ここを利用する事にしました。 説明が下手かもしれませんが、なんとか理解して頂きご回答頂ければ幸いです。 下のような表があった時に、みかんの列ピンク色。(A1~D1迄全て) りんごの列は水色。バナナの列は黄色・・・といったように 商品ごとに色分けをしたいのですが、よい関数とかありますでしょうか? 1.商品ごとに並べ替え→範囲選択→塗りつぶし・・・ 2.オートフィルタで種類ごとに選択→塗りつぶし・・・ のやり方でもよいのですが、データは日付順に入力。 入力する頻度が高い為、1や2のやり方だと少し面倒で・・・ みかんとセルに入力したら、みかんの列が塗りつぶしされる・・・みたいなのが理想でして。。。 条件付き書式で、みかんの文字だけが色づく・・・というのではダメなんです。みかんのデータが入ってる列全てに色を付けたいのです。 なんか説明がうまく出来ませんが、宜しくお願いします。 A B C D 1 2/1 みかん 1個 40円 2 2/5 りんご 1個 150円 3 2/5 バナナ 1房 198円 4 2/15 梨 1個 100円 5 2/20 りんご 1個 150円
- ベストアンサー
- 財務・会計・経理
- 同じ文字列の隣の数値を合計し、その多い順にリスト化
よろしくお願い致します。 Excel の計算式と作業列のみを用い、同じ文字列の隣の数値を合計し、その多い順にリスト化する方法についてお知恵をお貸しください。 やりたいことは以下になります。 ばななが合計7、りんごが合計5、みかんとなしが合計3なのでC列の通り合計か大きい順番に表されます。 A B C りんご 1 ばなな ばなな 2 りんご みかん 3 みかん りんご 4 なし ばなな 5 なし 3 みかんとなしは同数ですが、 上にあるみかんがつ先にきます。 以上、よろしくお願い致します。
- 締切済み
- Excel(エクセル)
- エクセルの条件付きSUMに
エクセルの条件付きSUMに ついての数式の質問です A B C D 1 リンゴ 4 \120 2 ミカン 3 \100 3 リンゴ 3 \130 4 リンゴ 2 \120 5 ミカン 3 \100 リンゴ(A列)120円(C列)の商品の 個数(B列)の合計をだす。数式があれば教えて下さい 宜しくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルで2枚のシートをリンクさせたい。
エクセルで2枚のシートがあるのですが、 シート1 | A | B | 1| 001 | りんご | 2| 002 | みかん | 3| 003 | バナナ | 4| 004 | ぶどう | シート2 | A | B | 1| 002 | 50円 | 2| 005 | 60円 | 3| 004 |100円 | 4| 003 |200円 | 5| 001 |300円 | を シート3に A列の数字が同じものをリンクさせ | A | B | C | 1| 001 | りんご | 300円| 2| 002 | みかん | 50円| 3| 003 | バナナ | 200円| 4| 004 | ぶどう | 100円| のようにシート1とシート2の内容を結合させたいのですが、 どのような 計算式をいれたらよいのでしょうか? できれば シート1に シート2のB列が シート3のC列にくるようにしたいのですが。 うまく説明できなくて大変申し訳ございません。 使用ソフトはExcel2003です。 なにか説明などで 足りないことや不備がありましたら、大変申し訳ございませんが教えて下さい。
- ベストアンサー
- オフィス系ソフト
お礼
何の面識もない私にこんなに丁寧にご指導下さいましてありがとうございます。 これだけ書くのにきっとたくさんの時間を割いて下さったのだろうと想像し感謝の気持ちでいっぱいです。 本当にありがとうございます。