- 締切済み
連続しない範囲で一番右に値のある一番上のセル
連続しない範囲で一番右の値のある一番上のセルの関数 エクセルの関数について教えてください。 下記表のようにGX列に、連続しない特定の範囲 (R4,AD4,AP4,BB4,BN4,BZ4,CL4,CX4,DJ4,DV4,EH4,ET4)で 「い」列の一番右に値のあるセルの年月を表示させる方法はありますでしょうか? 非表示のセルにも数値が入っていたり、2行目には「い」列があったりします。 年月はセルの結合をしています。 いろいろ調べて試してみたのですが、うまくいきませんでした。 何卒、ご教授よろしくお願い致します。
- razzrazzrazz
- お礼率100% (2/2)
- Windows XP
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
まず、GX4セルに次の関数を入力して下さい。 =IF(ISNUMBER(1/DAY(INDEX($1:$1,SUMPRODUCT(MAX(COLUMN($Q$2:$GW$2)*($Q$2:$GW$2=$GX$1)*($Q4:$GW4<>"")))-MATCH($GX$1,$2:$2,0)+COLUMN($Q$1)))),LOOKUP(9E+99,$Q$1:INDEX($1:$1,SUMPRODUCT(MAX(COLUMN($Q$2:$GW$2)*($Q$2:$GW$2=$GX$1)*($Q4:$GW4<>""))))),"") そして、GX4セルをコピーして、Gx5以下に貼り付けて下さい。 以上です。
- KURUMITO
- ベストアンサー率42% (1835/4283)
1行目の2013年4月の表示は数式バー上では2013/4/1のようになっていることでしょう。そのようにシリアル値として入力されているとします。 GX4セルには次の式を入力し、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。式の両側には{ }が付いた式となります。 その式を下方にドラッグコピーします。 =IF(ISERROR(INDEX(Q$1:EV$1,MAX((Q$2:EV$2=GX$1)*(Q4:EV4<>"")*COLUMN(A1:EF1)*(OFFSET(Q$1,0,1-MATCH(GX$1,Q$2:T$2,0)):OFFSET(EV$1,0,1-MATCH(GX$1,Q$2:T$2,0))>40000))-MATCH(GX$1,Q$2:T$2,0)+1)),"",INDEX(Q$1:EV$1,MAX((Q$2:EV$2=GX$1)*(Q4:EV4<>"")*COLUMN(A1:EF1)*(OFFSET(Q$1,0,1-MATCH(GX$1,Q$2:T$2,0)):OFFSET(EV$1,0,1-MATCH(GX$1,Q$2:T$2,0))>40000))-MATCH(GX$1,Q$2:T$2,0)+1)) 最後にGX列を選択して右クリックし「セルの書式設定」の「表示形式」で日付で2013年4月などと表示されるようにします。 GX列にはお望みの表示がされるでしょう。
お礼
参考になりました。ありがとうございました。
関連するQ&A
- Excel:LOOKUP関数を使って、右のセルの値を返したい
今までVLOOKUP関数を使っていたんですが、 どの列の値を返すのではなく、 右のセルの値を返したいときは どういった関数を使えばいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 値が同じセルを検索して該当するものを表示する方法
セルA1と同じ内容をB列から検索し、同じものが有った場合のCxの値をセルD1に表示する場合、どの関数を使えばよいのでしょうか。 (ここで、B列にはA1と同じ値は1個しかないことを条件としています。) 例えば A B C D 1 1 0 2 2 2 1 1 3 3 2 0 A1=1 列Bの「1」は B2です。 その場合のC2の値は1 よってD1には「1」を表示させたい。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- 入力名を参照して右ヘ18個目の値をたのセルにコピー
セル地U10からU39の列にH14.H15.H16・・・・・・・・・・・・・・H43(平成6年、平成7」とかの意味です)。この列の範囲の中で「H14」~とかが、1行上がったり、2行下がったりするので、行が変化しても、その時点の「H14」の行のセルの右へ18個目のセルの値をQ55にコピーしたい。 同じように「H15」の行のセルの右へ18個目のセルの値をQ56・・・・・・・・・・・(順に下がっていき)「H43」の行のセルの右へ18個目のセルの値をQ84と順に上から貼り付けたいのですが よろしくお願いします。
- 締切済み
- その他(学問・教育)
- 入力名を参照して右ヘ18個目の値をたのセルにコピー
セル地U10からU39の列にH14.H15.H16・・・・・・・・・・・・・・H43(平成6年、平成7」とかの意味です)。この列の範囲の中で「H14」~とかが、1行上がったり、2行下がったりするので、行が変化しても、その時点の「H14」の行のセルの右へ18個目のセルの値をQ55にコピーしたい。 同じように「H15」の行のセルの右へ18個目のセルの値をQ56・・・・・・・・・・・(順に下がっていき)「H43」の行のセルの右へ18個目のセルの値をQ84と順に上から貼り付けたいのですが エクセル2003 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- A列の行のセルに出てくる一番右の値だけを複数置換
A列の行のセルに出てくる一番最初、右の値だけを複数置換する式、マクロを教えて下さい 値は連続しており一番最初右であれば1文字とは限りません 行数は100000行 置換する対象の値は約30個です
- ベストアンサー
- Excel(エクセル)
- 値が入っている一番右のセル位置を返す方法
たとえばA行に値(文字列)が横に並んでいるとして 値が入っている一番右のセルの位置を返すようにするにはどのようにすればいいでしょう?
- ベストアンサー
- オフィス系ソフト
- エクセルで、ある範囲のセルのうち、5以上の値で最小の値を求めたい
エクセルで、ある範囲のセルのうち、5以上の値で最小の値を求めたいです。 1 3 2 6 9 0 4 ならば、 6が答え。 関数が無ければ、VBAで作った関数でも構いません。 また、VBAで範囲指定と条件指定が引数となる方法も知りたいです。
- ベストアンサー
- オフィス系ソフト
- Excelで、指定した範囲の先頭のセルの値を取得するには?
Excelで、指定したセル範囲(1列)で、空白を除いた先頭のセルの値を取得する 方法はありますでしょうか? できればマクロを使用せずに関数だけでできるほうがありがたいです。 例) | A ------------ 1 |(空白) 2 | ○ 3 | △ 4 | × 5 | □ の場合、検索範囲にA1:A5 を指定すると、○が値として返ってくるような感じです。
- ベストアンサー
- オフィス系ソフト
- 関数が入っている列で値のある最後のセルの値を返す
お尋ねします。 関数が入っている列で式の値が入っている一番下のセルの値を調べるにはどうしたら良いでしょうか? 例 A列 1 5 2 10 3 13 4 (式の値が無いのでゼロ) B1セルにA3セルの13と言う値を返したいのですが、列に式(SUMPRODUCT関数)が入っていて、実際はA4セルのゼロが返ってきます。 またシート1~シート5 まで上記と同じ式が入っていて、シート1のA列の最後の値「13」をシート6のB1セルに値を返す場合、INDIRECT関数を使った場合、どういう式になるでしょうか? ご回答よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- ある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?
Excelの関数について質問します。 ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。 なければユーザー定義で作りたいと思っています。 VLOOKUP関数では一番左端が検索されますが、 それをある範囲まで拡張して、 その右隣の値を取得できるようにしたいのです。 どうかお知恵をお貸しください。
- ベストアンサー
- オフィス系ソフト
お礼
参考になりました。ありがとうございました。