アプリ版:「スタンプのみでお礼する」機能のリリースについて

if関数を使用する事が多いのですが、
データが増えてしまってif関数では先がみえなくなってしまいました。
=if(C3=1,H5,if(C3=2,H6,if(C4=3,H7…
とこんな感じに永遠と続いてしまいます。
最後の偽は空白なんです。
これは何か他の関数でできますか?
それともif関数の中に何か他の関数をいれたほうが良いのでしょうか?

「if関数の連続を単純化するにはどうしたら」の質問画像

A 回答 (4件)

こんな方法もあります。


=CHOOSE(C3,H5,H6,H7,・・・,H35)
※C3の値が1~31以外はエラーになります。
※続く項目は固定値、セル座標なんでも指定できます。正し指定できる項目数は31個までです。

=OFFSET(H4,C3,0)
※最初の項目のセルを起点に、上下,左右の移動値を指定する方法です。
※省略していますが4番目,5番目の項目では高さ・幅の指定で範囲選択も可能です。

=INDEX(H5:H33,C3,1)
※最初の項目のセル範囲内の位置を続くセルで設定する方法です。
    • good
    • 0
この回答へのお礼

回答有難うございます。
よく理解できていないので一度やってみます。

お礼日時:2010/02/20 18:06

#1です。



「あるセルに書いてある番号をc3に打つと、その番号の行にあるデータを引き出すというようにしたいのです。」
なら、
=INDIRECT("H"&C3+4)
で引き出せます。
※どの列を引き出すかは"H"を変えます。今はH列を引き出します。
※どの行を引き出すかは、"+4"を変えます。今は、「1の時5」「2の時6」…なので、その差に当たる4を補正しています。
    • good
    • 0
この回答へのお礼

何度もすいません
本当に有難うございます。
もう一度挑戦してみます。

お礼日時:2010/02/20 18:03

VLOOKUP は、どうでしょう

    • good
    • 0
この回答へのお礼

複雑に考えすぎたみたいです。
ifとvlookupでできました。
お騒がせいたしました。
有難うございます。

お礼日時:2010/02/20 18:17

使用している関数は、実際に使っている関数を記載した方が良い回答が得られます。



因みに、
=if(C3=1,H5,if(C3=2,H6,if(C4=3,H7…
は、3番目のifがC4になっていますがC3の間違い?

間違いで、且つ順番に取り出すだけなら、
=INDIRECT("H"&C3+4)
で、取り出せますが…。

この回答への補足

すいません間違えました。
if(c3=1,H6,if(c3=2,H7,if(c3=3,H8…
という形です。
あと説明不足しました。
あるセルに書いてある番号をc3に打つと、
その番号の行にあるデータを引き出すというようにしたいのです。

補足日時:2010/02/20 17:36
    • good
    • 0

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