A   B  
1 日付  個数
2 1/11  3
3 1/12  2
4 1/13  6
5 1/14  4
のような表があったとします。
そして、1/12日の個数は「2」ですよね。
この2を返すのではなく、
1/12日の個数の「セル番地」を返す関数が知りたいのです。

実際はもっと複雑な式らしく、セル番地が必要なのだそうです。
(私ではない人がやっているので、詳しくはわかりませんが・・・)

LOOKUPのようなカンジでセル番地を返す関数ってありますか?

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

A 回答 (5件)

 No.4では勘違いしてしまっておりました。

すみません。訂正です。ただ、その方には説明にはなるでしょう。上記ご質問に対するネストは、日付範囲がA2:A5にあり、D2に探したい日付の入力セルがあった場合です。MATCH関数で範囲内の該当する値が、上から何行目かを探し、それをADDRESS関数で指定してあげれば、答えになります。MACHT関数の最後の0は、該当する値と一致したもののみを検索するように指定する様式を示します。
=ADDRESS(MATCH(D2,A2:A5,0),2,4)
 よって、No.3のcomv氏があげた回答が正解です。よけいなことをしてしまいました。せっかくなので、日付が更新され入力欄が増加することを考え、また、comv氏のご指摘に則したネストを追加してみました。
 =IF(ISNA(ADDRESS(MATCH(D2,A:A,0),2,4))=TRUE,"該当するものがありません",ADDRESS(MATCH(D2,A:A,0),2,4))
 どうでしょうか
    • good
    • 0

 その方は、場合によって参照範囲が変化する式(ネスト)を作りたいのでしょうね。


 セル番地に関する関数は、私が知っているものでは3つあります。
1) =CELL("address",A1:D1)
2) =ADDRESS(1,4,1)
3) =INDIRECT(E5,TRUE)
 1)は、選択したセル範囲(単独セルでも可)のアドレスを表示しなさいという関数で、答えはセル範囲のうち、最も左上のセルの番地を返します。(ここでは$A$1)
 2)は、行の上から何番目、列の左から何番目かを指定し、セルの参照形式を番号で指定(1:絶対参照、2:行を絶対参照で列を相対参照、3:略、4:相対参照)すると、指定した参照位置のセル番地を表示します。(ここでは行が1番目、列が4番目なのでD1を、絶対参照で返す指定ですから、$D$1)
 3)は、単独ではあまり意味がないが、式中に組み込む(ネスト)と便利な関数で、指定したセル番地に書いてあるセル番地もしくは参照範囲の内容を表示します。(ここではE5に記されたセル番地の内容を返します)
 例えば、=INDIRECT("B"&$A$5)とあって、A5に3と書いてあれば、B3セルの内容を表示します。また、A5に4と書いてあれば、B4セルの内容を表示します。B3に卵と書いてあれば卵と表示され、B4セルに数値が入っていればその数値を表示します。
 また、この関数は、セル参照が変わる場合がある式(ネスト)を作るときに最適です。1)、2)は単独のセル番地しか表示することができません。そこで、2)の式を、C5セルに=ADDRESS(1,1,4)としたら、A1を返し、C6セルに=ADDRESS(1,4,4)としたらD1を返しますね。E5セルに=CONCATENATE(C5,":",C6)とあると、E5セルにはA1:D1と表示されます。そこでこの関数の出番です。単独で使っても意味ないので、他の関数と組み合わせてネストを作ってみましょう。例えば,
=AVERAGE(INDIRECT(E5,TRUE))とあれば、E5にはA1:D1とあるので、A1からD1までのセルを参照したことになります。A1からD1まで順に1,2,3,4と数値が入っていれば、答えは2.5と表示されます。=sum(INDIRECT(E5,TRUE))なら、10と表示されます。=count(INDIRECT(E5,TRUE))なら、4とでます。C6セルの=ADDRESS(1,4,4)の列番号を指定する数値が、条件式で変わるようにしておけば、参照範囲を条件別に変えることができるようになります。C6セルの式に、=ADDRESS(IF(COUNT(A:A)>1,count(a:a),1),4,1)としてみると、A列に2つ以上のデータが入っていたらA列に入っているデータの数分の行数を指定したことになり、A2に数値が入っていたら、答えはD2となります。よって、E5セルはA1:D2となり、=count(INDIRECT(E5,TRUE))の答えは、A1:D2の範囲内にある数値データの個数を返してくれます。
    • good
    • 1

こんにちは!



少々意味を理解し切れていないのですが
例えば C1に 1/12 とあれば
=ADDRESS(MATCH(C1,A1:A5,0),2)
もしくは
="B"&MATCH(C1,A1:A5,0)

検索値が無い時のエラー回避は別途(IF(ISNA()等)必要です
    • good
    • 0

=cell("col",対象セル)


=cell("row",対象セル)
で良いと思います

詳しくは、イルカさんに聞いて見てください。(^○^)

参考になれば幸いです
    • good
    • 0

こんにちは。

maruru01です。
試してないですが、セルのRowプロパティとColumnプロパティで取得出来るのではないでしょうか。
では。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

QEXCEL: 日付のセルに1/2/3と入れると、2001/2/3と解釈されるが、2003/1/2と解釈させるには?

タイトルのとおりです。アメリカでは、1/2/3と書くと普通は2003年1月2日と解釈されます。
EXCELにて、 日付のセルに1/2/3と入れると、2001/2/3と解釈されますが、表示形式は2/3/01と指定できるにもかかわらず、入力形式は年/月/日と固定されていますよね。これは何とかならないでしょうか?
入力→解釈→表示が全て「月/日/年」と一貫していると、いちいち翻訳せずに済むのですが・・・。

Aベストアンサー

コントロールパネルの「地域と言語のオプション」で設定できます。

【手順(WinXPの場合)】
1.[スタートメニュー]-[設定]-[コントロールパネル]を選択
2.コントロールパネルの「地域と言語のオプション」を開く
3.「地域オプション」タブの「標準と形式」で「英語(米国)」を選択
4.[適用]ボタンを押す
5.[OK]ボタンで画面を閉じる
⇒Excelで「1/2/3」と入力すると「2003/1/2」と認識される

※Windows全体が手順3で選択した表示形式に変わります。

QExcel関数/数式内のセル番地を別セルの値で変化させたい

Excelの関数についての質問です。

たとえばセルA11に
=sum(A2:A10)
という数式が入っているとします。
ここで、A1に入っている値が「20」であったら、この数式の内容が
=sum(A2:A20)
となるようにコントロールしたいのですが、どのように参照式を作ればよいでしょうか。
なお、実際には複数セルの数式を同時に変化させることを想定しています。ご助言いただければ幸いです。

Aベストアンサー

ごめんなさい、SUMが多かったです・・・
正しくは
=SUM(INDIRECT("A2:A"&A1))
です。

Q表の中の規定数値以上のセル個数を返す

縦の数値表です。個人毎(60名)、項目が5行有る表で、合計が6行目に有ります。
その合計数値が30以上の個数の返し方を教えて下さい。
countifでは、表の項目全てを選択することになってしまい、合計数値だけの選択ができませんでした。
よろしくお願いいたします。

Aベストアンサー

人名がA列
項目名がB列
時間がC列
各6行×60で360行までの表だとします。

=SUMPRODUCT((B1:B360="合計")*(C1:C360>=30))

Q○番地セルと△番地セルを参照し、一致していたらIFで結果を出したい

○番地セルと△番地セルを参照し、一致していたらIFで結果を出したい

エクセル2003です。

A列に名前、B列に学部、C列に点数があります。

7行目より、各部の合格点があります。

●Aさんが何学部かを参照させ、一致したら、更に平均点に届いている場合は○、そうでなければ×としたいです。

IFとANDの組み合わせをしようと、式を書いたのですが、エラーが出ます。

HPでは、数値でのネストが主で、文字の場合はどうするかを検索しても出ず困っています。

Aベストアンサー

No.1です!
投稿後もう一度質問文を読み返してみたのですが、
前回のように難しく考えなくても良いのですかね?

前回の数式はAさんの場合は「医学部」ですので、
医学部の人の平均点を割り出し、Aさんの点数がそれ以上でなおかつ7行目の表の医学部の点数以上であれば
「○」をそうでなければ「×」を表示するようにしていました。

もっと単純に7行目以下の表の学部の点数以上の場合は「○」そうでない場合は「×」とすれば良かったのですかね?

もしそうであれば前回の数式は無視して
D2セルは
=IF(C2>=VLOOKUP(B2,$A$8:$B$9,2,0),"○","×")
としてオートフィルで下へコピーしてみてください。

今回も外していたらごめんなさい。m(__)m

Qexcelで○○と入力されているセル番地を返す方法

excelについて質問です。

シートAに下記の記述をします。

   A    B
1 項目名 セル番地
2 ○○  B7

のような形で、シートBからセル番地を引っ張ってくる方法はありますでしょうか。
セル番地が難しいようであれば、行、列を返す形でもよいです。

上手く質問ができず、申し訳ありません。
できればVBAは使わず、関数で処理できるとベターです。
宜しくお願いいたします。

Aベストアンサー

「対象のセルが複数存在することはない」というのが前提になりますが。

A2の値をSheetBのA1:Z99の範囲から探し、そのセルのセルアドレスを返す。

=IF(COUNTIF(SheetB!$A$1:$Z$99,A2)=1,ADDRESS(SUMPRODUCT(ROW(SheetB!$A$1:$Z$99)*(SheetB!$A$1:$Z$99=A2)),SUMPRODUCT(COLUMN(SheetB!$A$1:$Z$99)*(SheetB!$A$1:$Z$99=A2)),4),"#Error!")

Excel2003で動作確認済。

■ある範囲のセルから任意の値を検索して、
 その隣のセルの値を取得するという関数はありますか?
http://oshiete1.goo.ne.jp/qa3680269.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報