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

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

A1 ○○ B1 ○○ C1 ○○
A2 ○○
A3 ○○ B3 ○○

...といったかんじでセルにバラバラにデータが入っているとします。

列にデータが入っている最終の行だけ取り出したいのです。
上の例だとC1,A2,B3です。

マクロを使わなきゃ無理そうなのですが、アフォなのでわかりません。(T.T)
プログラミングの経験がある方、賢い方、教えてくださいませ。

A 回答 (3件)

以下の関数で如何でしょうか。

期待値と相違していましたら無視して下さい。
(例)A列の最終行の文字or数値を取り出せます。
=INDEX(A:A,MAX(IF(COUNTIF(A:A,"*"),MATCH("",A:A,-1)),IF(COUNT(A:A),MATCH(MAX(A:A)+1,A:A,1))))

因みに、列にデータが入っている最終の行ならば、A3,B3,C1では無いでしょうか。

この回答への補足

すいません。説明が間違っていました。

行の最後の列のデータです。

でも、教えていただいた関数をさわったらいけそうですね。
がんばります。

補足日時:2005/07/01 11:51
    • good
    • 0
この回答へのお礼

よくそんな長い式がわかりますね~

つくづく感心します。
Aを1に変えたらできました!

お礼日時:2005/07/01 13:02

こんちは



=INDEX(1:1,MAX(INDEX(COLUMN(1:1)*(NOT(ISBLANK(1:1))),)))

とか

この回答への補足

すごすぎます。
そんな難しい式、なぜわかるんだ~!!

補足日時:2005/07/01 12:56
    • good
    • 0
この回答へのお礼

会社のPCに詳しい方に聞いたらマクロを使って関数を作ったらいいじゃんと言われました。

モジュールを作成して

Public Function PICKUP(Rng As Range) As String
Dim BKString As String
Dim DAT As Variant

BKString = ""
DAT = ""

For Each DAT In Rng
If DAT <> "" Then
BKString = DAT
End If
Next

PICKUP = BKString

End Function

これでPICUPという関数ができるので=PICUP(A1:Z1)で出るそうです。
奥が深いですね。

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

お礼日時:2005/07/01 13:13

例:


A1 ○○ B1 ○○ C1 ○○ D1 空白 E1 空白
A2 ○○ B2 空白 C2 空白 D2 空白 E2 空白
A3 ○○ B3 ○○ C3 空白 D3 空白 E3 空白
の状態で行1の最後のデータを取得
=INDEX($A$1:$E$3,CELL("row",A1:E1),COUNTA(A1:E1))

こんな感じでどうでしょ?

第1パラメーター:データが入ってる領域を絶対アドレスで指定
第2パラメーター:その行の行番号
第3パラメーター:その行の空白セルでないデータの数

注意:データが左から摘めてあり残りは空白セルの場合のみ

この回答への補足

いつも思うんですが、なんでそんなひらめきが出るんでしょう?

皆さん頭よすぎです。(私が悪いだけですが)
いろいろなやり方があるんですね。

補足日時:2005/07/01 12:53
    • good
    • 0
この回答へのお礼

xyzさんのおっしゃるとおりの式でもできました。
どうもありがとうございます。

お礼日時:2005/07/01 13:09

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