• 締切済み

if関数の連続を単純化するにはどうしたら良いでしょうか?

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

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

こんな方法もあります。 =CHOOSE(C3,H5,H6,H7,・・・,H35) ※C3の値が1~31以外はエラーになります。 ※続く項目は固定値、セル座標なんでも指定できます。正し指定できる項目数は31個までです。 =OFFSET(H4,C3,0) ※最初の項目のセルを起点に、上下,左右の移動値を指定する方法です。 ※省略していますが4番目,5番目の項目では高さ・幅の指定で範囲選択も可能です。 =INDEX(H5:H33,C3,1) ※最初の項目のセル範囲内の位置を続くセルで設定する方法です。

ma-kinoko
質問者

お礼

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

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.3

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

ma-kinoko
質問者

お礼

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

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

VLOOKUP は、どうでしょう

ma-kinoko
質問者

お礼

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

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

使用している関数は、実際に使っている関数を記載した方が良い回答が得られます。 因みに、 =if(C3=1,H5,if(C3=2,H6,if(C4=3,H7… は、3番目のifがC4になっていますがC3の間違い? 間違いで、且つ順番に取り出すだけなら、 =INDIRECT("H"&C3+4) で、取り出せますが…。

ma-kinoko
質問者

補足

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

関連するQ&A

専門家に質問してみよう