Excelに関する質問です。

A1〜A1000までに、1から1000までの自然数がランダムに配置されているとします。

ここで、1から1000までの数字のうち一つを選びます。
その数字が格納されているセルをA列から探し出し、『そのセルの位置』の記号をどこか別のセルに出力するには
どのような関数を用いて、どのように記述すればよいのでしょうか。

また、B列にもなんらかの数値が並んでいるとして、
先ほど探し出した『そのセルの位置』の一つ右隣にあるB列のセルの、
中身の値を出力するにはどうすればよいでしょうか。


---(例)-------------------------------
A B
-------
5 151
3 623
2 325
1 407
4 799

例えばまず、A列から『2』を探したいとします。
このときなんらかの関数なりを使って、『A3』とどこかに出力したいのです。

次に、またなんらかの関数なりを使って『A3』の一つ右隣である『B3』の値、
すなわち『325』をどこかに出力したいのです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:ycyc No.1

回答回数37ベストアンサー獲得回数6

ポイント30pt

http://www.hatena.ne.jp/1124655136

人力検索はてな - Excelに関する質問です。 A1〜A1000までに、1から1000までの自然数がランダムに配置されているとします。 ここで、1から1000までの数字のうち一つを選びます。 その数字が..

まず、C列に、行番号を入れます。

C1に =row() を入力し、右下の■をドラッグして1000行まで引っ張ります。


セルの位置は、1001行目のセルに

 =”A”&LOOKUP(2,A1:A5,C1:C5) または、=”A”&VLOOKUP(2,A1:C5,3,FALSE)


B列の値の取り出し方は、

 =LOOKUP(2,A1:A5,B1:B5) または、=VLOOKUP(2,A1:C5,2,FALSE)

です。

id:iwskR

LOOKUPの方は『#N/A』と出てしまい使えなかったのですが、

VLOOKUPの方は使えました。ありがとうございます。

Excelの勉強にもなりそうなので、他のやり方があったらお願いします。

2005/08/22 06:01:12
id:vegah No.2

回答回数496ベストアンサー獲得回数2

ポイント15pt

http://www.hatena.ne.jp/Vlookup関数:detail]

ご質問の後者の方だけの回答ですが、


=VLOOKUP(数字のセル,A1:B1000,2,FALSE)

※数字のセルには、A列から探す数字を入れたセルを入れます。例えば、それが「2」として、それをセル「C1」に入れたとすれば、「C1」とします。


申し訳ありませんが、前者の質問はすぐに思いつきませんでした。

id:iwskR

VLOOKUPによる方法は前の方からもいただきました。ありがとうございます。

2005/08/22 06:02:54
id:mhachi No.3

回答回数31ベストアンサー獲得回数0

ポイント17pt

http://www.atmarkit.co.jp/fwin2k/win2ktips/317vlookup/vlookup.ht...

@IT:Windows TIPS -- Tips:VLOOKUP関数でExcel帳票への自動入力を可能にする

vlookup()関数を使うことで出来そうですが、これにはA列が昇順にソートされている必要があります。

この場合、MATCH()関数が妥当かと思います。

D1に「3」が格納されているとして、

=MATCH(D1,A1:A100,0)

これで、A列の何行目に「3」があるかを探し出します。例の場合、上式の返値は2となります。

あとは、B2セルの内容を参照するだけですから、=INDEX(B1:B100,MATCH(D1,A1:A100,0))

で623が返ります。

id:iwskR

ありがとうございます。

MATCHやINDEXはヘルプを見ても使い方が良く分からなかったので助かりました。

2005/08/22 06:13:12
id:mhachi No.4

回答回数31ベストアンサー獲得回数0

ポイント17pt

http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/moji_2.htm

Excel(エクセル)基本講座:文字列の関数(2)

追加になりますが、『そのセルの位置』をA3のように表示させたい場合は、

=concatenate(”A”,MATCH(D1,A1:A100,0))

とすることで、”A2”と表示されます。


concatenate()関数は、文字列、数値を並べて表示させる関数で、なにかと使い勝手がよいです。

id:iwskR

ありがとうございます。

Excelは計算が楽になるソフトくらいのつもりで使っていたんですが、

思ったより色々なことが出来ますね。

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

2005/08/22 14:24:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません