No.3ベストアンサー
- 回答日時:
質問には書かれていないのですが、「ナンバー」を数値ではなく自
然数で考えていると想像します。1から始まる正の整数限定ってこと
ですね。
そうすると、対象とする自然数を含む配列を作成して、A列の内容と
比較してやるのが良さげですね。簡単に抜けのない自然数の配列を
得るには、row(1:100)のように行番号を使うのがラクチンです。
で、row(1:100)で得られた1~100の自然数の配列がA列に現れるかど
うかをmatch関数で探します。見つかれば何番目にあったかを返し、
見つからなければ#NAエラーを返します。
エラー値のままでは演算できないので、not(isna())で見つかったと
ころが1、見つからなかったところが0になるように加工します。こ
れに思いっきり大きな数(たとえば1万)をかけ、さらにrow(1:100)を
足します。すると、{10001;10002;3;10004;...}のように、見つかっ
たところは行番号+10000、見つからなかったところは行番号のみに
なります。
最後に、index関数で配列としての体裁を整え、min関数で一番小さ
い数値を取り出すと、見つからなかった自然数の最小値ですね。
というわけで、「A列で縦に並んでいます」のがA2:A20だとすると
=min(index((not(isna(match(row(1:100),A2:A20,0)))*10^4)+row(1:100),0))
で完成。途中に空欄がどうしたとか、重複がなんだとか、並び順が
こうしたとかは一切関係ありません。
丁寧な説明有難うございます。
関数は得意でないのですが、理解することができました。
そこで、さっそく記述してみましたが、この処理で管理するナンバーとはIPアドレスなのです。
IPアドレスは「192.168.0.1」のようになっており数式が使用不可でした。
説明不足ですみません。
このような状況の回避方法はありますでしょうか?
よろしくお願いします。
No.4
- 回答日時:
> ナンバーとはIPアドレスなのです。
Excel的には番号ではなく文字列ですね。まぁいいでしょう。IPアド
レスの管理で「空きに適当に入れる」ことが出来るのは最後の1バイ
トだけで、上位のバイトは環境で決まってしまいますね。だから、
管理対象の最下位バイトだけをB列に抜き出して、同じように検索し
て下さい。
192.168.0.1~192.168.0.256までなら、B列は
=mid(A1,11,3)*1
です。
=min(index((not(isna(match(row(1:256),B2:B200,0)))*10^4)+row(1:256),0))
何度も回答を頂き、有難うございました。
希望通りの処理ができ大変感謝しております。
今回の式に含まれる関数など覚え、今後活用したいと思います。
ありがとうございました。
No.2
- 回答日時:
確認です。
> 例「1・2・3・○・5・○・○・8・~」
この例では、4行目は空白行になっていますか?
1・2・3・5・8・・・と詰まっていますか?
> 列に「4」を追加すると、
空白の4行目に4と入力するのですか?
4行目を挿入して4と入力するのですか?
最大値はいくつですか?
4行目は空白行になっている。
空白行に4と入力する。
最大値は1000とする。
と仮定しての方法ですが。
B列に1から1000まで連番を付ける。
C1セルに「=IF(A1=B1,"",1)」を入力して、C1000セルまで下へコピー
D1セルに「=MATCH(1,C1:C1000,0)」を入力する。
これで常にD1セルに次最小値を常に表示することになります。
B列、C列は表示しないと設定しても良い。
B、C、D列は使っていない右端の列を使うなどご自分の実情に合わせて下さい。
ではでは。
詳しい説明ありがとうございます。
説明不足で失礼しました。
追加する「4」は空白になっておりません。行挿入します。
最大値は256です。
対象の数列はソートされていません。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) エクセルVBA 2 2022/04/27 13:29
- Excel(エクセル) substitute関数についての質問です 3 2023/06/21 11:57
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) 単価シートから単価をエクセル関数で自動取得する方法 1 2023/07/02 22:00
- その他(プログラミング・Web制作) バッチファイルでPCのモデル名を取得したい 1 2022/03/31 10:58
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
文字列に数字を含むセルを調べたい
-
VBAで文字列を数値に変換したい
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
2つのエクセルのデータを同じよ...
-
Excelで、A列にある文字がB列...
-
エクセルの項目軸を左寄せにしたい
-
Excelで半角の文字を含むセルを...
-
エクセル 時間帯の重複の有無
-
エクセル(勝手に太字になる)
-
A列がない・・・A列が非表示に...
-
エクセルで文字が混じった数字...
-
「B列が日曜の場合」C列に/...
-
ExcelのVBAで連番を振る。
-
エクセル 同じ値を探して隣の...
-
EXCELで cuontifやsubtot...
-
ハイパーリンク情報を別セルへ...
-
【Excel VBA】特定の列以外を削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
エクセルで最初のスペースまで...
-
エクセルVBA、別ブックへ転記す...
-
エクセル 文字数 多い順 並...
-
エクセル(勝手に太字になる)
-
VBAで文字列を数値に変換したい
-
エクセルで文字が混じった数字...
-
エクセルの表から正の数、負の...
-
「B列が日曜の場合」C列に/...
-
Excelで半角の文字を含むセルを...
-
エクセルの並び変えで、空白セ...
-
Excel、市から登録している住所...
-
エクセル 同じ値を探して隣の...
-
EXCELで 一桁の数値を二桁に
-
エクセル初心者です 関数の入れ...
-
A列がない・・・A列が非表示に...
-
オートフィルターをかけ、#N/A...
-
エクセルで、列の空欄に隣の列...
おすすめ情報