• ベストアンサー

一番下のデータと一番下から2番目のデータを表示

恐れ入ります。 Sheet1のA1にSheet2のC列の一番下にあるデータを表示したい場合どのような式を書けばいいでしょうか? また、 Sheet1のA1にSheet2のC列の二番目にあるデータを表示したい場合どのような式を書けばいいでしょうか? どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.6

お礼と、補足、 有難うございます。 ご指定内容を、失念していた様で 済みません。 早速ですが、 ご提示、頂いた データを 拝見、致しました。 此れって、 率直に、言って、 「下から、2行目」 では、なく 最下レコード、C列 では、無いですか? (※注:レコードとは、1データ群) 各レコードは、 日付が、先頭データの フォーマットですよね? 詰まり、 日付の、ある行を 基準に、参照する、 そう言った、手法が、 正式だ と、思いますよ? 如何ですか? https://1drv.ms/x/s!AjviygfJDgV_1hzoCjY6wFdCqQNR

その他の回答 (6)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.7

他のサイトに置いたデータなんて怖くて開けませんので勝手にデータを作りました。 一番下のデータ =OFFSET(Sheet2!C1,MAX(ROW(Sheet2!C:C)*(ISBLANK(Sheet2!C:C)=FALSE))-1,0) 下から2番目のデータ =OFFSET(Sheet2!C1,LARGE(ROW(Sheet2!C:C)*(ISBLANK(Sheet2!C:C)=FALSE),2)-1,0) 配列数式ですのでCtrl+Shift+Enterで確定します。 情報をむやみに小出しにしたり、別サイトに分けたりするのはやめてください。 このサイトは、貴方の疑問だけが解決すればよいのではなく、貴方と似たような疑問を持った人がこのサイトを検索して自力で解決する事が出来るようにしています。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.5

済みません やや、修正 =IFERROR(OFFSET(Sheet2!$B$1,MAX(INDEX((1-ISBLANK(Sheet2!$C:$C))*ROW(Sheet2!$C:$C),0,0))-1,1,1,1),"NoData")

megumi199
質問者

お礼

ありがとうございます! こんな短時間に、こんなに素晴らしい式を作ってくださり本当にありがとうございました。 見事に、見事に私がしたかったことができました。 それで応用させようと思って、Sheet2のD列の一番下を見ようと思って 「$C:$C」の所を二か所「$D:$D」にしたのですがうまくいきませんでした。 Sheet2のD列の一番下を見る場合はあとどこを変えればよいのでしょうか? めぐみ

megumi199
質問者

補足

何度も申し訳ありません。 再度よく確認したのですが、頂いた式では要求を満たしていないようでした。 下記にデータを公開します。 https://docs.google.com/spreadsheets/d/1Dbfr7-hZhhA1pGDc7sTXyOuAzb8qwLU8eSjZYJjC3MU/edit?usp=sharing C列のデータのある一番下から2番目は「5」です。 恐れ入りますがC列のデータの中から一番下から2番目の数値を表示できる式をご教示頂けないものでしょうか? 恐れ入りますがなにとぞよろしくお願いいたします。

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.4

此、 試して、頂けますか? =IFERROR(OFFSET(Sheet2!$B$1,MAX(INDEX((1-ISBLANK(Sheet2!$C:$C))*ROW(Sheet2!$C:$C),0,0))-1,1,1,1),"")

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.3

[No.1補足]へのコメント、 「此処はバッチリとサンプルデータを」のお願いは却下ですか? 》 数値だけのものもあります のような曖昧模糊表現を避けるために、だったンですけどねぇ。 「数値だけ」以外のものはどんなデータ?と確認を求めざるを得なくなるのです。 サヨナラ!

回答No.2

> データは数値だけのもの「も」 結局、数値のみ・文字列のみ・混在、いずれでしょう? まぁ、とりあえず一例。 考えられる全てに対応するには、もう少し工夫が必要です。 > C1のみ目次が を踏まえ、「数値のみ」の場合は   =INDIRECT("Sheet2!C"&COUNT(Sheet2!C:C)+1) 「文字列のみ」の場合は   =INDIRECT("Sheet2!C"&COUNTA(Sheet2!C:C)) 混在なら式も混在。 > Sheet2のC列の二番目にあるデータを 単純に   =Sheet2!C3 で良いのでは。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.1

「C列の一番下にあるデータ」まで「「C列の一番上」から空白セルはないの? 「C列の一番上」はセル C1 なの? 「データ」とはどんな内容のものなの?数値のみ?文字列のみ?数値・文字列混在? 等々、不明な点が多々あるので、此処はバッチリとサンプルデータを上から下までのデータサンプルを示したら?

megumi199
質問者

補足

「C列の一番上」から空白セルはないです。 「C列の一番上」はセル C1です。がC1のみ目次が入っています。 C列のC2以降はデータは数値だけのものもあります ただ、B列はB2以降文字だけで、もし数値だけの方法と違うようでしたらばぜひ知りたいです。

関連するQ&A

  • 下から○番目のデータを表示は可能?

    xslでデータの下から○番目までのデータを表示させたいです。どなたか教えて下さい。 --------- xml ---------- <ice_cream> <vanilla>ばにら</vanilla> <mint>みんと</mint> <tea>こうちゃ</tea> <coffee>コーヒー</coffee> <choco>ちょこ</choco> <soda>ソーダ</soda> <strawberry>いちご</strawberry> </ice_cream> ---------------------------- 上のようなxmlがあったとします。 ice_creamの中の下から3番目まで、「いちご、ソーダ、ちょこ」の3つを表示させたいのですが、どうすればいいのでしょうか??

    • ベストアンサー
    • XML
  • エクセルで、等間隔ごとのデータを表示させるいい方法はありませんか?

    エクセルで、等間隔ごとのデータを表示させるいい方法はありませんか? エクセルシートに、A1に1月1日、A2に1月2日というように日にちが並んでいます。データは一年分です。 Cの列に、A列のデータを、一つ飛ばしで表示させようとしています。C1には1月1日、C2には1月3日、C3には1月5日となるようにしたいのです。 現状は関数で、C1には、IF(A1="","",A1)の関数をいれ、C2には IF(A1="","",A3)、 C3には IF(A1="","",A5)というように、C列の行が増えるたびにA列の行を2つずつ増やすように直接入力しています。 件数が多くなった場合入力がたいへんなので、上記とは違った方法で、楽に表示できるようにしたいのですが、どのような式にしたらよいか分かりません。どうかお知恵をお貸しください。よろしくおねがいしますm(_ _)m

  • データの整合性のエクセル関数教えてください!

    例えばシート1が A列     B列   C列 123さん  12番   1番 345さん  13番   2番 678さん  14番   3番 シート2は A列    B列    C列    D列   345さん   A    13番    3番    123さん   B    12番    1番    678さん   C    14番    3番    という表があった場合にシート1の123さんのB列とC列が シート2の123のC列とD列の番号と一致しているかどうか をE列に●×で表示させたい時はどのような関数を使え ばいいのでしょうか?ちなみにシート1とシート2は順番も 項目も違う内容になっています。 VLOOKとIFを組み合わせたりしたのですが、どうしも うまくいかず困っています。 どなたかおわかりでしたら教えてください。

  • 複数セルのデータを昇順にまとめて表示する式について

    A,B,C列にある「ん」「あ」「う」を「あうん」と表示する式をご教示いただき入れてみたのですが、「9250うん」と表示されます。 データを「X,Y,W」に入れ替えてみたのですが、「4桁の数字,X,Y」となります。入れた式は下記のとおりですが、どこが違うのでしょうか? {=CHAR(SMALL(CODE($A$2:$C&2),1))&CHAR(SMALL(CODE($A$2:$C&2),2))&CHAR(SMALL(CODE($A$2:$C&2),3))} 実際に適用したいのは、離れた3列で、表示は別シートになるのですが、その場合同様の考え方で可能でしょうか。 自分としては、シート名をどこに入れようか迷っていたのと、範囲指定はCtrl+列選択でいいのかな?と思っていたのですが・・。

  • あいまい検索でヒットするデータを表示する方法

    office2016 ある機種のデータをsheet1のA列2行目以降に取り込みます code  ←題目 1233 127011 ←(A) C00001 C00233 … C90001 ←(B) その後昇順にならんだデータにします。約50行くらいあります。 (A)のデータは 1270で始まるデータで 127011,127021の様に6ケほど存在します。 (A)のデータは機種に必須のデータなので6ケの中でどれか1つが必ず存在します。 文字列と数字が混載表示のデータで1270が含まれるデータはありません。 C91270の様なデータは無いということです。 (B)のデータは C9000で始まるデータで C90001,C9002の様に5ケほど存在します。 (B)のデータは機種に必須ではないので、存在しない場合があります。 A列のデータの中から (A)で存在するデータはsheet2のG3セルへ (B)で存在するデータはsheet2のM3セルへ それぞれ表示したいのですが、何か簡単に一発で表示される良い方法があれば教えていただきたく。 現状の構成は次の通りです。 マクロで下記を対応してます。 Aデータの有無を確認する作業シート(シート名はA)を設けて A列にコピーし B2セルに判定として =IF(ISERROR(SEARCH("1270",A2,1)),"対象外",SEARCH("1270",A2,1)) これをA列の行分コピー B列で対象外の行を削除 1行目が題目で2行目に対象のデータが残るのでそれを表示 code 127011   1 の状況になるので SHEET2のG3セルは =IF(A!B2=1,A!A2,"") とすると 127011がG3セルに表示される Bデータの有無を確認する作業シート(シート名はB)を設けて A列にコピーし B2セルに判定として =IF(ISERROR(SEARCH("C9000",A2,1)),"対象外",SEARCH("C9000",A2,1)) これをA列の行分コピー B列で対象外の行を削除 1行目が題目で2行目に対象のデータがあれば残るのでそれを表示 code C90001   1 の状況になるので SHEET2のM3セルは =IF(B!B2=1,B!A2,"") とすると C90001がM3セルに表示される C9****のデータが存在しない場合、M3セルは空欄表示でOK これで一応やりたい内容は達成できていますが、関数で一発表示ができたらとの思いです。マクロでも構いません。 よろしくお願いします。

  • エクセルでのデータの表示

    エクセルでのデータの表示 次のような表が在ります。 A列   B列   100    2   100    2      101    6   101    2   101    6   102    6   102    6   103    2   103    2   103    2    104    6   104    2  ・     ・  ・     ・  ・     ・   これを、次のように、C列に「◎」と「×」を表示させるようにするには、どのようにすれば可いですか? つまり、「A列のナンバーが重複していて、且つ、B列の数字が異なる二種類の場合は、C列に◎」、「A列のナンバーが重複していて、B列の数字は一種類の場合は、Cれつに×」と表示させたいのです。 A列  B列  C列 100    2  × 100    2  ×   101    6  ◎ 101    2  ◎ 101     6  ◎ 102    6  × 102    6  × 103    2  × 103    2  × 103    2  × 104    6  ◎ 104    2  ◎ ・      ・  ・ ・       ・  ・ 宜しくお願い致します。

  • エクセルで必要なデータのみを表示させるには。

    シート1に下記のデータがあり、シート2にシート1のBにデータが入力された場合にシート2にシート1のCを表示させるにはどうしたらよいのでしょうか。 シート1   A     B    C 1 A   333  A×333 2 B        B× 3 C   777  C×777 シート2    A 1 A×333 2 C×777

  • 一番下がどこかを確認する関数を知りたいのですが・・・

    タイトルではチョッとわかりにくいかと思いますが。。。 以下に簡単な例を記しておきますので、どなたかご教示おねがいします^^;       A列   B列   C列   D列 1行目 2行目    ○    3行目 4行目    ○        ○ 100行目       ○ 200行目                 ○ こういうようなシートがあったとします。 別シートの式で自動で○が入力される表なわけですが これらは、○があるセルもあれば、空白のセルもあります。 上のシートを例にすると、A列の一番下の○は4行目、B列は100行目、C列は4行目、D列は200行目、となっております。 一番下までの○が何行目になるのか。ということを知りたいのです。 もちろん自分で数えれば簡単にわかる結果ですが、これを自動で表示するような関数があればと思い、質問させていただきました。 私の知る関数の知識、また応用力ではお手上げ状態です、どなたかご存知の方、よろしくお願いします^^;

  • エクセルでsheet2のデータ更新容易化のための処理

    エクセルで次のことがしたいのですが、 (前提)sheet1のセルc6~C15のタテに“c6”~“c15”という名前が入っています。 またsheet2のセルB4~K4に、今度は横に“c6”~“c15”という名前が入っています。 Sheet1にコマンドボタンAを設けます。 (動作) (1)sheet1のコマンドボタンAが押されたら、そのときカーソルがc6~C15のどこかにあったとして 仮にc14のところにあった場合,sheet2のJ列のJ4セル――“c14”の表示されているセルにジャンプし (2)かつJ列から左右の領域(B列~I列)は非表示にしてA列とその列のみシートの左側に表示する。 (3)またsheet2のA1セル近辺にコマンドボタンBがあって、sheet2のデータを全表示にする。 つまりsheet2のA列は常に表示です。 (設問の意味) ある店(“c6”~“c15”という名前)に登録されている人についての変更履歴を、操作しやすく変更入力管理を容易くするため。sheet2のセルB4~K4の下にその登録されている人のデータがあるという意味です。 (お願い) (1),(2),(3)のどこでもいいのでマクロ等で実現することについてお知恵拝借します。よろしくお願いします。

  • 入力された整理番号の最小値から最大値までを通し番号にしてデーターを振り分け、集計する

     初めまして、よろしくお願いします。  前回同じような質問で、  セル上にランダムに整理番号をA列に、そのデーターをB列に順に乗せていきます。 例)     A    B    C     1   3   100 2   5    50 3   2    10 4   9     1 5   7    20 6 7 8 9 10 11  これを任意の場所(別シート)に     A    B    C 1 2   2    10 3   3   100 4   4     0 5   5    50 6   6     0 7   7    20 8   8     0 9   9     1 10 11 12  となる様な表を作りたいと思います。A列に入力された整理番号の最小値から最大値まで、入力されなかった番号まで(ここでは4,6,8)自動で通し番号となるよう表示し、B列のデーターを振り分けられる関数をよろしくお願いします。  と質問したところ、 ◆別シートのA1の式 A1=IF(AND(ROW()>=MIN(Sheet1!$A$1:$A$10),ROW()<=MAX(Sheet1!$A$1:$A$10)),ROW(),"") ★下にコピー ◆別シートのB1の式 B1=IF(A1="","",IF(COUNTIF(Sheet1!$A$1:$A$10,A1),VLOOKUP(A1,Sheet1!$A$1:$B$10,2,0),0)) ★下にコピー という答えをいただき、実行したのですが、A列に同じ番号が再び入力したら合算して表れるようにならないでしょうか。 例)A10に整理番号2が入力された場合、データーの10が、合算され、集計場所に20と表示されるようにする。     A    B    C     1   3   100 2   5    50 3   2    10 4   9     1 5   7    20 6 7 8 9 10  2    10 11  これを任意の場所(別シート)に     A    B    C 1 2   2    20 3   3   100 4   4     0 5   5    50 6   6     0 7   7    20 8   8     0 9   9     1 10 11 12  このようになるようにしたいのですが、どうすればいいのでしょうか。また、紹介して頂いた関数の指定範囲を広げても、関数を貼り付ける位置をA1、B2ではなく、A5、B5と、下の位置に貼り付けるとずらした分の最初の数字が表示されなくなりました。何とか下へずらして貼り付ける方法は無いでしょうか、紹介された関数でなくてもかまいませんので、よろしくお願いします。

専門家に質問してみよう