No.8ベストアンサー
- 回答日時:
No.7 の補足です
入力セルの選択を間違えて指示しました。ごめんなさい。B1:B10を選択してください。
A1からA10に適当なデータを入力してから、B1:B10を選択し、No.7に書いた式をコピーして貼り付け、確定するとき指示通りにして、B1:B10のセルに一度に
{=IF(ABS(A1:A10)=MIN(ABS(A1:A10)),A1:A10,"")}
が入力されれば完成です。
これで確かめる事が出来ますね。
ありがとうございました。
成功しました!
こんな方法がエクセルにあったなんて、新しい発見です。
何度もご親切に回答していただき、感謝いたします。
No.7
- 回答日時:
No.3 No5 の者です
=IF(ABS(A1:A10)=MIN(ABS(A1:A10)),A1:A10,"")
を入力する時のやり方が間違っていませんか。
式を入力する前に A1:A10 を選択しておかねばなりません。そして 上の式を入力して確定するときに、Ctrl キーと Shift キーを押しながら Enter キーを押します。これで10個のセルに同時に上の式を入れられます。(見た目には{ }でくくられた式が全てに入力されています)つまり引数にも配列、数式入力にも配列を使用した事になります。
少しセル範囲が多くてもShift キーを使ったり、引数のセル入力時も番地を覚えていてキーで入力するなどすれば、式の形がシンプルなので分かりやすいと思いますが。
No6 のかたのVBAも良いと思います。
ただ、-0.5と0.5の様なデータが最小値になった場合も考えなければならないのでしたら、更に付け足す必要がありますね。
何度もすみません。
式は、どのセルに入れればよろしいのでしょうか?
A1:A10を選択したとき、式はA1に入ってしまいます。
きっと、私の勘違いだと思いますが、あと、ちょっとでなので、是非、ご教示をお願いいたします。
No.6
- 回答日時:
ユーザー定義関数を作ってみました。
使い方
=nearZeroMin(A1:A10)
Function nearZeroMin(r As Range)
Dim x As Range, absMin, ret
ret = Application.WorksheetFunction.min(r) '仮の最小値
absMin = Abs(ret) '仮の最小値
For Each x In r
If absMin > Abs(x) Then
absMin = Abs(x)
ret = x
End If
Next
nearZeroMin = ret
End Function
No.5
- 回答日時:
N0.3の者です。
朝起きて見直したら前回のはさらに改良できました。
もっと多いデータにも対応できるように全てを配列引数にしました。
=IF(ABS(A1:A10)=MIN(ABS(A1:A10)),A1:A10,"")
データがA列に10個ある場合にしてあります。
これなら式の入力も簡単で、しかも前にも言いましたがいろいろな場合に対応します。
いろいろなデータを入力して確かめてください。
No.3
- 回答日時:
No.2の方の様に配列数式を使うのであれば、
A列の隣B列の3つのセル(B1:B3)を選択しておいて、次のように入力します。
=IF(ABS(A1:A3)=MIN(ABS(A1),ABS(A2),ABS(A3)),A1:A3,"")
確定時にCtrl キーと Shift キーを押しながら Enter キーを押すのを忘れないでください。
B列のどこかに小さい値が現れます。
これの良くないところは、同じ値があった場合同じものが2つ表示される事であり、又良いところは、最小値が-1と1のような場合にも対応できる事です。
データが沢山あるのでしたら、VBAの方がすっきりしますかね。
No.2
- 回答日時:
配列数式を使います。
仮に、
[A1]=-1
[A2]=-3
[A3]=+5
であるならば、任意のセルに
=INDIRECT(ADDRESS(MATCH(MIN(ABS(A1),ABS(A2),ABS(A3)),ABS(A1:A3),1),1))
この式を入れ、Ctrl キーと Shift キーを押しながら Enter キーを押します。
セルの数式は{}で囲まれます。
この数式の流れとしては・・・
(1)ABSで、各々の絶対値を取ります
ABS(-1)=1,ABS(-3)=3,ABS(+5)=5
(2)MINで、その中の最小の値を取ります。
MIN(1,3,5)=1
(3)MATCHで、A1:A3の中で(2)の値のあるセルの位置(何番目か)を取ります。
MATCH(1,ABS(A1:A3))=1(絶対値1と合致するのはA1:A3の"1"番目)
(4)ADDRESSで、A列の[(3)の値]行目のセルアドレスに変換します。
ADDRESS(1,1)=$A$1 前の「1」は(3)で求めたもの。後の「1」は「A列」を表します。
(5)INDIRECTで、(4)のセルアドレスにある値を拾います。
INDIRECT($A$1)=-1
参考になりますでしょうか。
ありがとうございます。例題はうまくいきました。
[A1]=+5
[A2]=-3
[A3]=-1 と数値を入れ替えた場合には、エラーになりますが、範囲指定をする場合、式のどこを変えれば良いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
Excelで一番ゼロに近い値を求めるには
Excel(エクセル)
-
Excelの指定する列から検索値に最も近い値と行数を抽出する方法について
Excel(エクセル)
-
エクセルで0もしくは0に近い負の値を計算させる方法
Excel(エクセル)
-
-
4
最も近い数値のあるセルを探す
Excel(エクセル)
-
5
エクセル-セルから一番近い数字と計算
Excel(エクセル)
-
6
指定範囲から任意の近似値を探したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自動的に日付入力 応用
-
Excelの関数を教えて下さい。
-
Excel関数の解決方法
-
エクセルの設定、下へスクロー...
-
UNIQUE関数の代用
-
Excelファイルを開くと私だけVA...
-
エクセルの設定、特定の列以降...
-
Vba アドインソフトのバージョ...
-
エクセルの数式について教えて...
-
Excel 日付の表示が直せません...
-
スプレッドシートでの数値集計
-
Excelでプルダウン選択(I1セル)...
-
Vbaをバッチ処理で動かす方法に...
-
エクセル 数字のみ抽出につて
-
Excelファイルが開けません
-
ユーザーマクロ作成
-
Excelのsumifで検索する範囲を...
-
エクセルの数式につきまして
-
エクセルの数式について教えて...
-
Excelで、すでに書いてある表を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】重複する同じ行を、...
-
Excelの条件付き書式のコピーと...
-
vba 印刷設定でのカラー印刷と...
-
VBA の単語の意味を教えて下さい。
-
Excel 日付の表示が直せません...
-
エクセル 同じ行の隣り合う数字...
-
エクセル条件付き書式について。
-
エクセルの数式につきまして
-
ファイル名の変更
-
エクセル 数字のみ抽出につて
-
Excelの開始ブックを固定したい...
-
エクセルの数式について教えて...
-
エクセルのセルをクリックする...
-
=INDIRECT(RIGHT(CELL("filenam...
-
エクスプローラーで見ることは...
-
Excelの関数で質問です
-
至急お願いいたします 屋上の備...
-
エクセルでセルに入力する前は...
-
関数を教えて下さい
-
Excel 関数での質問です
おすすめ情報