質問投稿でgooポイントが当たるキャンペーン実施中!!>>

またよろしくお願いします。
2段階にわけて質問します。

【質問1】
範囲A1:A10の空白ではない一番下のセルの値を得たい

【質問2】
たとえば質問1でA8が該当セルだった場合、範囲B1:B8の空白ではない一番下のセルの値を得たい。

A列の状態によってB列の範囲を変えて選び出すのが難しそうです。
よろしくおねがいします。

A 回答 (2件)

こんにちは~



A1:B10 に入ってるのは数値ですか、それとも文字列?
それによって数式が変わりますよ。

> 範囲A1:A10の空白ではない一番下のセルの値を得たい

★数値なら

=IF(COUNT(A1:A10),LOOKUP(10^10,A1:A10),"")

または

=IF(COUNT(A1:A10),LOOKUP(MAX(A1:A10)+1,A1:A10),"")

★文字列なら

=IF(COUNTA(A1:A10),INDEX(A1:A10,MATCH("*",A1:A10,-1)),"")


> たとえば質問1でA8が該当セルだった場合、
> 範囲B1:B8の空白ではない一番下のセルの値を得たい

★数値なら

=IF(COUNT(A1:A10),LOOKUP(10^10,INDIRECT("B1:B"&MATCH(MAX(A1:A10)+1,A1:A10,1))),"")

または

=IF(COUNT(A1:A10),LOOKUP(MAX(B1:B10)+1,INDIRECT("B1:B"&MATCH(MAX(A1:A10)+1,A1:A10,1))),"")

★文字列なら

=IF(COUNTA(A1:A10),INDEX(B1:B10,MATCH("*",INDIRECT("B1:B"&MATCH("*",A1:A10,-1)),-1)),"")

※B列の該当範囲に値がない場合のエラー処理はしていません。
※解決した質問は締め切ってくださいね。

この回答への補足

詳細な回答ありがとうございます。取り急ぎお礼です。
A1:B10に入る値は数値です。
使ったことない関数&複雑な式なので、
いまいち理解できませんが、とにかくやってみます。

※解決した質問は一週間くらいで締め切ろうかなと思ってました。もしかしたら別解があるのかも・・・、ウルトラCの回答がつくかも・・・、と思ったので・・・。(でも前回の質問は締め切っておきました)

※補足欄にお礼を書いたのは、質問を締め切ったあとでも、お礼欄にコメントを書けるからです。万が一の訂正や補足のために・・・

補足日時:2005/09/18 06:19
    • good
    • 3

こんちは



A1. =INDEX(A1:A10,MAX(INDEX(NOT(ISBLANK(A1:A10))*ROW(A1:A10),)))

A2. =INDEX(B1:B10,MAX(INDEX(NOT(ISBLANK(B1:B10))*ROW(B1:B10)*(ROW(B1:B10)<=MAX(INDEX(NOT(ISBLANK(A1:A10))*ROW(A1:A10),))),)))

この回答への補足

ありがとうございます。
理解できないほど複雑ですがとにかくやってみます。
取り急ぎお礼まで。

※追伸
実はエクセルではなくOpenOffice使っているので、式を修正する必要があるかも、ということでがんばります。

補足日時:2005/09/18 06:34
    • good
    • 0

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

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

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

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

Q【EXCEL】空白でないセルの位置を検索したい

初めまして。
EXCELの関数を利用して、
下記のようなことをしたいと思案中です。

 A B C D E F
1* 1   2   3
2* 1   2 3 3
3* 1   2   
4* 1   2 3 3

*が計算式を挿入したい箇所です。
各行の最初のブランク位置を検索したいです。
ブランクの個数は不定ですが、
B~Fのセルに入れるデータは全て数値です。

MATCH関数を使い、MATCH("",B3:F3)のようにしても、
#N/Aとなってしまいます。

何か良い方法はないでしょうか?
ご教授頂けますようよろしくお願い致します。

Aベストアンサー

配列数式を使ってようやく出来ました。
下は1行目のF列までの関数です。
{=MIN(IF(ISBLANK(B1:F1),COLUMN(B1:F1),""))}
入力する際に、コントロールキーとシフトキーを押しながらEnterキーを押してください。
指定した範囲に空白セルが無い場合は、0になります。それ以外は範囲中の最も左にある空白セルの列番号が数字で返されます。

Qエクセルの質問。  対象範囲の中で、一番下に位置する値を返す関数。

例えば…
A1~A9までの9つのセルに、A1=100,A5=120,A6=20という3つの値が入っています。

A1~A9の範囲で一番下にある値を表示(ここではA6の20という値)するような関数ってあるのでしょうか?

Aベストアンサー

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

http://www2.odn.ne.jp/excel/waza/function.html#SEC62

参考URL:http://www2.odn.ne.jp/excel/waza/function.html#SEC62

QExcelで、条件と一致する最後のセルを検索したい

Excelで、条件と一致する最後のセルを検索したいのですが、どの関数をどのように使えばいいかわかりません。
どなたかお力をお貸し下さい。

問)
日付  社名  品名  個数
1/1   A    あ    1
1/1   C    い    2
1/2   B    う     3
1/2   A    え    4
1/3   C    お    5
1/3   A    あ    3

答)
A社の最終購入日は  1/3 あ 3
B社の最終購入日は  1/2 う  3
C社の最終購入日は  1/3 お 5

となるようお願いします。

Aベストアンサー

エクセルには「最後の該当」を検索する関数はありません。
無駄に複雑な数式を駆使すればもちろん「やればできます」が、添付図のようにちょっと工夫するだけで、普段使いの数式だけでやっつけるのがお勧めです。

A2:
=IF(OR(C2="",COUNTIF($C$2:C2,C2)<COUNTIF(C:C,C2)),"",C2)
以下コピー

答えは簡単なVLOOKUP関数を使うだけです。
H2:
=IF(COUNTIF($A:$A,$G2),VLOOKUP($G2,$A:$E,2,FALSE),"")




まぁ一応ご参考に作業列を使わない方法:
H2:
=IF(COUNTIF($C:$C,$G2),INDEX(B:B,MAX(IF($C$2:$C$999=$G2,ROW($C$2:$C$999)))))
と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力する

説明は省略しますので、ブラックボックスで使ってください。

Q空白でないセルの値を返す方法について

空白でないセルの値を返す方法について


いつもお世話になっております。



A   B   C   D   E   F   G

名前 住所  あ          あ


A~Cは入力は固定です。
D~Gは可変で月毎に入力しなおします。
10月はFに入力、11月はDに入力…みたいな感じでどこか1箇所に入力します。

上記の内容の表でD~Gの入力してあるセルを検索してCに反映させてたいのですが、上手く行きません。
COUNT、COUNTAは空白以外のセルの個数を返しますが、空白以外のセルの値そのものは返しません。
MATCHやINDEXも見ましたが、上手くイメージできません。
お詳しい方、お教えいただければと思います。

Aベストアンサー

こんばんは!
すでに簡単な方法は MackyNo1さんが回答されていらっしゃるので
余計なお世話になりかもしれませんが・・・

データは2行目からあるとします。
どうしても関数で処理したいのであれば、一例ですが
C2セルに
=IF(COUNTA(D2:G2)=0,"",INDEX(D2:G2,,SUMPRODUCT((D2:G2<>"")*COLUMN($A$1:$D$1))))
という数式を入れ、オートフィルで下へコピーする方法もあります。

ただ、質問の内容だけで判断するのであれば
MackyNo1さんの方法がすっきりしていると思います。
どうも失礼しました。m(__)m

Q値が入っている一番右のセル位置を返す方法

たとえばA行に値(文字列)が横に並んでいるとして
値が入っている一番右のセルの位置を返すようにするにはどのようにすればいいでしょう?

Aベストアンサー

セルの位置を返したいのであれば
=CHAR(MATCH(MAX(1:1)+1,1:1,1)+64)&1
でどうでしょうか。

Qエクセルである列の一番下の値を表示する方法

エクセルで、ある列の一番下の値だけを他のセルに表示する方法がわかりません。
どなたかご存知の方おりましたら、ご教授お願いいたします。

Aベストアンサー

関数で求める方法です。
対象を仮にA列とします。

1.A列が文字列の場合
=INDEX(A:A,MATCH("^",A:A,-1))

2.A列が数値の場合
=INDEX(A:A,MATCH((10)^15,A:A,1))

Qエクセル:データが入った最終行の行番号の取得

お世話になります。
A列にいろいろデータが入っているとして、データが入っている一番下(最終行)の行番号をB1のセルに表示させるにはどういう計算式で出来るでしょうか?
A列のデータは数値だけでなく文字列も含みます。また途中空白セルもあります。
A1~A20にデータが入っているときはB1に20と表示させる。
よろしくお願いします。

Aベストアンサー

=MAX(IF(COUNTIF(A:A,"*"),MATCH("",A:A,-1)),IF(COUNT(A:A),MATCH(MAX(A:A)+1,A:A,1)))

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル シート内の一番下のセルに移動したい

エクセル シート内の一番下のセルに移動したいです。
かなりのデータ量なので一番下への方法と中ごろへの移動の方法も教えて頂ければと思います。

Aベストアンサー

該当する列で連続した一番下のデータには、Ctrlキー+↓キーで飛びます。
シート内のどこからでもA1にはCtrlキー+Homeキーで飛びます。

中どころはちと難しいですが、一番下に飛んで、仮にA10000だったら、画面左上の「名前ボックス」にA5000と打ち込んでEnterキーではどうでしょう。

Qエクセル もし、セルが空欄なら、その上のセルの値を入力する

エクセル2002を使用しています。

例えば、A列に順に数値が入っているのですが、ところどころ空欄です。
<こんな感じです。>
12
15
22

33
34


55
<ここまで>

数値は、連番ではありません。不規則です。約300行あります。
本当は、空欄の場所は一つ上のセル数値が入るのです。(連続して空欄になっているところも、一つ上の数値と同じ値が入るのです。)
<上の例を当てはめると>
12
15
22
22 ←
33
34
34 ←
34 ←
55
<ここまで>

こんな感じにしたいのです。
関数などで一つのセルに入力して、あとはフィルドラッグでコピーするなんていう便利な方法はありませんか?
すでに入力している数値が消えないようにしたいのです。

よろしくお願いいたします。

Aベストアンサー

とりあえず数値の範囲を選択
F5キーを押してセル選択で定数を選択(文字を除くなら数値のみチェック)
これで空白のセルが除外されます。
ここでコピーして張り付ければいいかと...


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

人気Q&Aランキング