• ベストアンサー

エクセルの文字と引き算

あるセルに、文字の入ったセルを読み込んだ後、300の数字が入ったせるから数字を引いて来るような関数は可能でしょうか? 具体的には「セル1」に「セル2(文字)」の文字を読み込んだ後、300から隣にある「セル3(正の数字」を引いて「セル2(文字)」を表示することです!宜しくお願いします。

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

  • ベストアンサー
回答No.3

>B1:B3に東京、大阪、福岡の順で文字、C1:C3には2、6、14の順で数字が入ってい ます。 >D1:D3には300、100、200の順で数字が入っています。 >A1には「東京」を指定したら 説明不足です。A1セルに「東京」を入力するってことでよろしいですか? 指定ということはどこかから選択するのですか? 説明が苦手なら最低3つ以上はサンプルを示してください >D1の数字からC1の2を引いてE1に 298の数字の表示、 >A1には「東京」を表示したいのですが可能でしょうか? 「可能です。」という回答が欲しいわけではないと思います。 解釈その1 そのまま、数式であらわすとE1セルに =IF(A1="東京",D1-C1,"") A1セルに東京と入力されたら D1-C1 解釈その1.5 =IF(A1="東京",D1-C1,"") 下へオートフィル =IF(A2="東京",D2-C2,"") 解釈その2 =IF(A1=B1,D1-C1,"") 下へオートフィル A1セルと隣のB1セルとが同じなら引き算 解釈その3 =IF(A1="","",VLOOKUP(A1,$B$1:$D$3,3,FALSE)-VLOOKUP(A1,$B$1:$D$3,2,FALSE)) 下へオートフィル 何か書いてあれば、表引きを行い一致した行のD列から(一致した行の)C列の値を引く

todaykeep
質問者

お礼

解釈その3 =IF(A1="","",VLOOKUP(A1,$B$1:$D$3,3,FALSE)-VLOOKUP(A1,$B$1:$D$3,2,FALSE)) 下へオートフィル 何か書いてあれば、表引きを行い一致した行のD列から(一致した行の)C列の値を引く 解釈その3のとおりです。文字と表引きが一つの関数で出来ないか、困っていました。 確かに勉強不足ではありますが、IFとVLOOKUPの組合せがうまく出来なかったので、大変助かりました。 本当にありがとうございました!

その他の回答 (2)

回答No.2

文字列の足し算なら、文字と文字をつなげることと考え =A1&B1 でA1セルとB1セルをつなげて表示できる。 そこで文字列の引き算と考えると置換と考えてみる =SUBSTITUTE(A1,B1,"",1) 文字列の途中も置換されてしまうのでもう一工夫必要かもしれない ここまでは、タイトルからの推測。 ********************** >「セル1」に A列と仮定した >「セル2(文字)」の文字を読み込んだ後、 B列と仮定した >300から C列と仮定した >隣にある「セル3(正の数字」 D列と仮定した >を引いて「セル2(文字)」を表示することです! B列に上書きすると考えた。 >「セル1」に「セル2(文字)」の文字を読み込んだ後、 C列に書かれたC2:C6セル範囲をコピーして、B2:B6セルに貼り付け >300から隣にある「セル3(正の数字」を引いて「セル2(文字)」を表示することです! C2セルに =IF(D2=300,300-E2&"","") (数字で表示されるので表示形式が標準の場合、左による) これがどのような意味を持つのか不明。 数値:計算できる値 数字:計算できない文字列、(漢数字は漢字で書かれた数字)。Excelは工夫すると数値化することができる。 解釈に努めたがこれが限界。推測させる質問は、説明不足である。

todaykeep
質問者

お礼

お礼と回答が遅くなり、すみませんでした。回答の関数はかなり参考になりましたので、再度説明させて頂きます。 B1:B3に東京、大阪、福岡の順で文字、C1:C3には2、6、14の順で数字が入ってい ます。 D1:D3には300、100、200の順で数字が入っています。 A1には「東京」を指定したらD1の数字からC1の2を引いてE1に 298の数字の表示、A1には「東京」を表示したいのですが可能でしょうか?

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

エクセルの用語を使って、はっきり質問に質問文を書くこと。 シートの上で見えるとおりの形式で実例を挙げれば判りやすいのだ。セル、セルというがエクセルではセルが主体で書かなくても判る。むしろセルの番地(列と行)・データの有様が判るように質問を書くこと。 >300の数字ーー>書くとすれば300行の文字と数字の組? セル1-->セルA1など >読み込んだ後ーーこれもCSVファイルを読み込むようなケース以外はこう書く必要なし。入力して、作成してとか言う場合はある。普通には、エクセルのシートに読み込んだ後の話をするので、こんなの書く必要は無い。 ーー 多分ここういうことか? A列のA1に何か数字(コード)を入れる B列C1:D5に 1 東京 2 横浜 3 靜岡 4 名古屋 5 大阪 (本当は300行あり) (こういう簡単な少数行数の、例を質問に挙げると、読者にはわかりやすい) 5-->300行への変更は、普通は、何処をどう買えれば良いか、類推できるもんだ。 A1に2と入れればB1に横浜と出したいのか。 VLOOKUP関数を使う(常識的な関数だ.、これを知らないのはエクセルの勉強・経験が極くわずかというバロメーターと思う) =VLOOKUP(A1,$C$1:$D$5,2,FALSE) Googleで「エクセル VLOOKUP関数」で照会してよく読んでください。 >引き算 とは何?こういう表から値を引いてくることなら、検索とか表引きとかいう。演算の引き算と何の関係もない。

todaykeep
質問者

お礼

回答していただきました方の言うとおり、エクセルについて知識が全くありません。と同時に説明不足では回答に困るのは無理もありません!今後、分かりやすく質問させて頂きます。有難う御座いました。

todaykeep
質問者

補足

お礼と回答が遅くなり、すみません。うまく説明出来ないかもしれませんが、再度説明させて頂きます。 B1:B3に東京、大阪、福岡の順で文字、C1:C3には2、6、14の順で数字が入っています。 D1:D3には300、100、200の順で数字が入っています。 A1には「東京」を指定したらD1の数字からC1の2を引いてE1に 298の数字の表示、A1には「東京」を表示したいのですが可能でしょうか?

関連するQ&A