excelで例えばA1にTapeという言葉が挿入されたときには、A4=((A2*A3)/20)/5という計算式をする設定の方法はありますか?
ご存知の方がいらしたら教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

=IF(A1="tape",((A2*A3)/20)/5,IF(A1="CD",((B2*B3)/20)/5,""))



A1がtapeだったら((A2*A3)/20)/5
tapeじゃなかった場合、CDだったら((B2*B3)/20)/5
CDでもなかったら""

同様にして7つまで入れ子にできます。

でも、7つも入れ子にすると式が複雑になるのでそこまで増やすことがあるなら
VLOOKUPとかHLOOKUPとか使ったほうが良いですね。
これならいくつでもできるし。どんな条件の時に何が入るのか分かりやすいですから。
    • good
    • 0
この回答へのお礼

有難うございます。

助かりました。

またお願いします。

お礼日時:2002/04/10 18:35

こんばんは!



# A1にそのものが入力されたときに対応する方法です。
では「含まれる」条件での関数 FIND()は不要ですね!

# 更にA4にもう一つの場合を追加し二通りで出来る
# 方法はありますか?
# A1=CDとした時 以下の数値は同じとして

既に皆さんのレスで解決隅だと思いますが、前回の
設定上、全角、半角、大文字、小文字に対応したものを
1例(と言ってもORで括っただけですが!)

=IF(OR(ASC(LOWER(A1))="tape",ASC(LOWER(A1))="cd"),A2*A3/20/5,"")
    • good
    • 0
この回答へのお礼

有難うございます。

助かりました。

またお願いします。

お礼日時:2002/04/10 18:36

=IF(OR(A1="CD",A1="tape"),((A2*A3)/20)/5,"")



●条件のいずれかにヒットした場合の分岐
 =IF(OR(条件1,条件2,・・,条件n),ヒット時の処理,ヒットしない時の処理)

●条件の全てにヒットした場合の分岐
 =IF(AND(条件1,条件2,・・,条件n),ヒット時の処理,ヒットしない時の処理)

この回答への補足

更にA1=CDの時は、計算式を変えることは出来ますか?

A4=((B2*B3)/20)/5


よろしくお願いします。

補足日時:2002/04/10 00:27
    • good
    • 0
この回答へのお礼

有難うございます。

助かりました。

またお願いします。

お礼日時:2002/04/10 18:34

こんばんは!



>Tapeという言葉が挿入されたときには
この文字が、A1の文字列に含まれるのか
そのものが入力された時に対応するのかに
もよりますが!

両方対応させ、かつ全角、半角、大文字、小文字
の何れでも tape が含まれた場合、処理する
とすれば

=IF(ISERROR(FIND("tape",ASC(LOWER(A3)))),"",A2*A3/20/5)

こんな感じで如何でしょうか!

余談
数式部分の ((A2*A3)/20)/5 は全て乗除算なので
左から順に処理されるため、括弧は無くてもOKです。

この回答への補足

A1にそのものが入力されたときに対応する方法です。

更にA4にもう一つの場合を追加し二通りで出来る方法はありますか?
A1=CDとした時
以下の数値は同じとして

よろしくお願いします。

補足日時:2002/04/09 23:53
    • good
    • 0
この回答へのお礼

有難うございます。

助かりました。

またお願いします。

お礼日時:2002/04/10 18:30

Excel はふだん使用していないので、ちゃんとした回答に


なってませんが、Search/SearchB()を使っても調べられる
みたいですね。Find/FindBでもでるみたいです。ちょっと
づつ特性が違うみたいなので、#1の方の回答も含めて考え
てみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2002/04/09 23:59

A4に次の式を入れます。



=IF(A1="tape",((A2*A3)/20)/5,"")

この回答への補足

更にA4にもう一つの場合を追加し二通りで出来る方法はありますか?
A1=CDとした時
以下の数値は同じとして

よろしくお願いします。

補足日時:2002/04/09 23:43
    • good
    • 0
この回答へのお礼

有難うございます。

助かりました。

また解らないことがあったらお願いします。

お礼日時:2002/04/10 18:28

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

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

Q【EXCEL】数式=SUM(A1*B1+A2*B2+・・・+A100*B100)を簡略化したい

お世話になります。

今Excelで、A1~A100とB1~B100まで数値が入っています。
セルC1に「=A1×b1」、C2に「=A2*B2」…C100に「=A100*B100」と入力しました。
そしてセルC101に「SUM(C1:C100)」と入力して合計を出しました。
(実際はもっと複雑な計算なのですが、説明の為に簡略化しています)

そうすると、計算結果セルが多く発生するためファイルサイズが莫大になってしまうのと、それを数千行×6列以上を一気に計算するとXPのリソースが足りないと出て計算できません。
なので2~3列ずつ何回も数式コピペを繰り返すことになっています。

そこで【別セルに掛け算をしてから全部SUMで足す】のではなく【1つのセルに掛け算とSUMを組み込む】という事を考えて
=SUM(A1*B1+A2*B2+・・・+A100*B100)を
を入力しようとしたのですが、数式が長すぎて四苦八苦です。

この式、なんとか簡略化できませんか?

Aベストアンサー

積の合計なら
=SUMPRODUCT(A1:A100,B1:B100)
でいいのでは?

Q(A1/B1/C1…→A1/A2/A3)X複数 の変換方法について

エクセルで
.|A|B|C|D|E
1|あ|い|う|え|お
2|か|き|く|け|こ
3|さ|し|す|せ|そ
4|・|・|
5|・|
6
7



という行・列を下のように書き換える(A列に集約する)簡単な方法がありましたら教えて下さい。

.|A|B|C|D|E
1|あ|
2|い|
3|う|
4|え|
5|お|
6|か|
7|き|
8|く|
9|・|
10|・
・|・
・|・

使用しているバージョンはexcel2003です。
今まではあまりデータが多くなかったので
「コピー→形式を選択して貼り付け→行列を入れ替えるにチェック」
で行っていたのですが、今回は2000行ぐらいあるので今までのやり方では厳しいと思い相談させていただきました。

Aベストアンサー

VBAで
K列に縦に並べます
Sub test01()
d = Range("A65536").End(xlUp).Row
For i = 1 To d
Range(Cells(i, "A"), Cells(i, "E")).Copy
Range("K65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Next i
End Sub
ーーー
とか
Sub test02()
K = 1
d = Range("A65536").End(xlUp).Row
For i = 1 To d
For j = 1 To 5
Cells(K, "K") = Cells(i, j)
K = K + 1
Next j
Next i
End Sub

QA1セルにAと入力すると、A2セルに3000A3セルに2000A4セルに1000と表示させたい。

A1セルに「A」と入力する1回だけで、
A2セルに「3000」
A3セルに「2000」
A4セルに「1000」
A5セルに「合計数字」を表示させたいのですが、
式をご教授願いたいです。

よろしくお願いします。

Aベストアンサー

D1:G3
A500030001000
B500300130
C1200800300
A1にA,B,Cのどれかを入れる。
A2に =VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE)と入れて、
A4まで(G-D-1列数だけの行数)式を複写する。
結果
A1がBの場合A1:A4は
B
500
300
130

A1の空白の場合に対処して
=IF(A1="","",VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE))
が良いでしょう。
(既回答とほぼ同じ式ですが、1箇所違うところがあります。)

Qエクセルで、=IF(A12="a",TRUE)は =A1="a"  ???

エクセルで、
=IF(A12="a",TRUE)

=A1="a"
と省略できるのですか?

やってみるとまったく同じようなのですが、いまいち不安です。

また、=IF(D4=TRUE,"OK!","No!")も、日頃=IF(D4,"OK!","No!")と略してますが、これも正しいんですよね?
気になったものですから確認させてください。

Aベストアンサー

こんにちは。maruru01です。

IF関数について、少し補足説明します。
IF関数は、No.1にもあるように、

=IF(条件式,真の場合,偽の場合)

という書式ですが、

=IF(条件式,真の場合)

と、偽の場合を省略することが出来ます。
ここで偽の場合は、FALSEという論理値を返します。
つまり、質問欄の1つ目の例に当たります。
なお、

=IF(条件式)

と、真の場合も省略することは出来ず、

=IF(条件式,,偽の場合)

と、空欄にすると、真の場合は数値の「0」を返すことになります。
ちなみに、偽の場合も、

=IF(条件式,真の場合,)

と、引数区切りのカンマだけ付けると、空欄と見なされて(省略とは異なる)数値の「0」を返します。

次に、条件式についてですが、
条件式は、

「左辺」+「比較演算子」+「右辺」

の書式になっているものを指します。
ここで、比較演算子とは、
「=、>、<、>=、<=、<>」
を指します。
条件式は、成立/不成立の結果、TRUE/FALSEという論理値を返します。
つまり、

=A1="a"

は、条件式の戻り値そのものを表示していることになります。
それに対して、IF関数の方は、条件式を判定した結果、真の場合と偽の場合をそれぞれ実行して表示しています。
その真の場合と偽の場合が、条件式の戻り値とちょうど一致しているということです。

さて、IF関数の第1引数は、通常は上記の条件式を指定しますが、実際はIF関数は第1引数を数値として判断しています。
その判定基準は、第1引数が、
0 → 偽の場合を実行
0以外 → 真の場合を実行
となります。
そして、第1引数が条件式の場合に限り、戻り値の論理値を、
TRUE → 1
FALSE → 0
と数値に変換して判定しているのです。
これが、質問欄の後半の2つの数式の挙動の違いの原因なのです。

=IF(D4=TRUE,"OK!","No!")

は、第1引数は「D4=TRUE」という条件式です。
この場合、戻り値は必ずTRUE/FALSE(=1/0)です。
(ただし、D4にエラーが入っている場合を除く)
一方、

=IF(D4,"OK!","No!")

の方は、第1引数は「D4」で、これはセルD4の値そのものです。
で、前述のように、IF関数は第1引数を数値として判定するので、このD4が数値(と論理値)以外の場合(文字列など)はエラーになります。
D4が数値(と論理値)の場合は、前述のように、「0」かそれ以外かで判定され、真/偽の場合のいづれかを実行して表示します。

このIF関数の第1引数が数値として判定されているということを利用した例が以下のようなものです。
例えば、A列に数値が1つでもあれば"OK"、1つもなければ(つまり0)"NG"を表示する場合、意味を考えれば、

=IF(COUNT(A:A)>0,"OK","NG")

ですが、これを、

=IF(COUNT(A:A),"OK","NG")

と、A列の数値の個数(COUNT関数の戻り値)そのもので判定することが出来るわけです。

以上、長くなりましたが、補足説明でした。

こんにちは。maruru01です。

IF関数について、少し補足説明します。
IF関数は、No.1にもあるように、

=IF(条件式,真の場合,偽の場合)

という書式ですが、

=IF(条件式,真の場合)

と、偽の場合を省略することが出来ます。
ここで偽の場合は、FALSEという論理値を返します。
つまり、質問欄の1つ目の例に当たります。
なお、

=IF(条件式)

と、真の場合も省略することは出来ず、

=IF(条件式,,偽の場合)

と、空欄にすると、真の場合は数値の「0」を返すことになります。
ちなみに、偽...続きを読む

QExcelでひとつ置き(A1、A3、A5・・・)に合計とかふたつ置き(A1、A4、A7・・・)に合計というのは可能なのでしょうか?

タイトルの通りなのですが、
エクセルの雛形の関係上例えば
A1に「あ」という商品の代金 A2にその消費税
A3に「い」という商品の代金 A4にその消費税…
などという入力をすることがあり、
最後に商品代金だけ、消費税だけを計算したいとき
今まではA1+A3+A5+・・・という風に手でいちいち計算していたのですが
何か利用できそうな関数・数式はないものかと思い質問しました。

同じように2つ置き(A1+A4+A7+・・・)の方法もありませんでしょうか?

Aベストアンサー

一例です。
A1:A10範囲とします。
■奇数行の計数
=SUMPRODUCT((MOD(ROW(A1:A10),2)=1)*A1:A10)
■奇数行の計数
=SUMPRODUCT((MOD(ROW(A1:A10),2)=0)*A1:A10)

■3行毎の計数
=SUMPRODUCT((MOD(ROW(A1:A10),3)=1)*A1:A10)


このカテゴリの人気Q&Aランキング

おすすめ情報