ここから本文です

エクセルで以下のような処理を関数を使って行いたいです。 134569 上のように2,7...

med********さん

2019/3/719:09:53

エクセルで以下のような処理を関数を使って行いたいです。
134569
上のように2,7,8が抜けているところを関数で自動で補って
123456789
のようにしたいです。

やりたい処理は以下のサイトに書いてあることと一緒です。
ただマクロは使いたくなく、関数で実現したいです。よろしくお願いします。
お礼はできる限りしますのでお願いします。
https://tech.nikkeibp.co.jp/it/pc/article/NPC/20070705/276887/

補足セル1に1
セル2に3
セル3に4
セル4に5
セル5に6
セル6に9

上のように値が入っています、セル1に134569という値が入っているわけではないです。

閲覧数:
55
回答数:
3
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tai********さん

2019/3/721:58:23

関数を使うなら別の範囲に出力するしかないです。関数は参照することしかできないので。

例えば
E2
=IFERROR(INDEX(A:A,MATCH(ROW(A1),$A:$A,0)),IF(COLUMN(A1)=1,ROW(A1),""))

右と下にコピー

終わったらE:G列をコピーしてA1セルに値貼り付けすればマクロと同じ結果になります。

関数を使うなら別の範囲に出力するしかないです。関数は参照することしかできないので。

例えば
E2...

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

mit********さん

2019/3/807:00:21

A2セルから下方に連続した日付ではないが昇順に並んでいるとします。
A2セルに必ず1日から始まる日付であることも必要ありません。6/3から始まってもよいです。また7/10で終わってもよいです。
A列に日付、B列、C列にデータが入力された表として、連続した日付の表をE列からG列に作るとしたらE2セルには次の式を入力してG2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーすればよいでしょう。

=IF(COLUMN(A1)=1,IF(MIN(A:A)+ROW(A1)-1>MAX(A:A),"",MIN(A:A)+ROW(A1)-1),IFERROR(VLOOKUP($E2,$A:$C,COLUMN(A1),0),""))

初めから終わりの日まで月が途中で変わっても表示されますね。
E列には日付のシリアル値が表示されますのでセルの表示形式の「ユーザー定義」で m/d(aaa) のようにしてもよいでしょう。

aid********さん

2019/3/719:31:08

抜けているのを補って結果123456789になるのなら、何もする必要ないですよ。
表示したいセルに123456789と入力するだけです。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる